home *** CD-ROM | disk | FTP | other *** search
/ Isometric Game Programming with DirectX 7.0 / Isometric Game Programming.iso / directx / dxf / samples / multimedia / directshow / misc / asfcopy / wmsdkidl.h < prev   
Encoding:
C/C++ Source or Header  |  2000-09-22  |  362.3 KB  |  10,900 lines

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2.  
  3.  
  4. /* File created by MIDL compiler version 5.01.0164 */
  5. /* at Mon Jun 26 06:49:05 2000
  6.  */
  7. /* Compiler settings for .\wmsdkidl.idl:
  8.     Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
  9.     error checks: allocation ref bounds_check enum stub_data 
  10. */
  11. //@@MIDL_FILE_HEADING(  )
  12.  
  13.  
  14. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  15. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  16. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  17. #endif
  18.  
  19. #include "rpc.h"
  20. #include "rpcndr.h"
  21.  
  22. #ifndef __RPCNDR_H_VERSION__
  23. #error this stub requires an updated version of <rpcndr.h>
  24. #endif // __RPCNDR_H_VERSION__
  25.  
  26. #ifndef COM_NO_WINDOWS_H
  27. #include "windows.h"
  28. #include "ole2.h"
  29. #endif /*COM_NO_WINDOWS_H*/
  30.  
  31. #ifndef __wmsdkidl_h__
  32. #define __wmsdkidl_h__
  33.  
  34. #ifdef __cplusplus
  35. extern "C"{
  36. #endif 
  37.  
  38. /* Forward Declarations */ 
  39.  
  40. #ifndef __IWMMediaProps_FWD_DEFINED__
  41. #define __IWMMediaProps_FWD_DEFINED__
  42. typedef interface IWMMediaProps IWMMediaProps;
  43. #endif     /* __IWMMediaProps_FWD_DEFINED__ */
  44.  
  45.  
  46. #ifndef __IWMVideoMediaProps_FWD_DEFINED__
  47. #define __IWMVideoMediaProps_FWD_DEFINED__
  48. typedef interface IWMVideoMediaProps IWMVideoMediaProps;
  49. #endif     /* __IWMVideoMediaProps_FWD_DEFINED__ */
  50.  
  51.  
  52. #ifndef __IWMWriter_FWD_DEFINED__
  53. #define __IWMWriter_FWD_DEFINED__
  54. typedef interface IWMWriter IWMWriter;
  55. #endif     /* __IWMWriter_FWD_DEFINED__ */
  56.  
  57.  
  58. #ifndef __IWMInputMediaProps_FWD_DEFINED__
  59. #define __IWMInputMediaProps_FWD_DEFINED__
  60. typedef interface IWMInputMediaProps IWMInputMediaProps;
  61. #endif     /* __IWMInputMediaProps_FWD_DEFINED__ */
  62.  
  63.  
  64. #ifndef __IWMReader_FWD_DEFINED__
  65. #define __IWMReader_FWD_DEFINED__
  66. typedef interface IWMReader IWMReader;
  67. #endif     /* __IWMReader_FWD_DEFINED__ */
  68.  
  69.  
  70. #ifndef __IWMOutputMediaProps_FWD_DEFINED__
  71. #define __IWMOutputMediaProps_FWD_DEFINED__
  72. typedef interface IWMOutputMediaProps IWMOutputMediaProps;
  73. #endif     /* __IWMOutputMediaProps_FWD_DEFINED__ */
  74.  
  75.  
  76. #ifndef __IWMStatusCallback_FWD_DEFINED__
  77. #define __IWMStatusCallback_FWD_DEFINED__
  78. typedef interface IWMStatusCallback IWMStatusCallback;
  79. #endif     /* __IWMStatusCallback_FWD_DEFINED__ */
  80.  
  81.  
  82. #ifndef __IWMReaderCallback_FWD_DEFINED__
  83. #define __IWMReaderCallback_FWD_DEFINED__
  84. typedef interface IWMReaderCallback IWMReaderCallback;
  85. #endif     /* __IWMReaderCallback_FWD_DEFINED__ */
  86.  
  87.  
  88. #ifndef __IWMCredentialCallback_FWD_DEFINED__
  89. #define __IWMCredentialCallback_FWD_DEFINED__
  90. typedef interface IWMCredentialCallback IWMCredentialCallback;
  91. #endif     /* __IWMCredentialCallback_FWD_DEFINED__ */
  92.  
  93.  
  94. #ifndef __IWMMetadataEditor_FWD_DEFINED__
  95. #define __IWMMetadataEditor_FWD_DEFINED__
  96. typedef interface IWMMetadataEditor IWMMetadataEditor;
  97. #endif     /* __IWMMetadataEditor_FWD_DEFINED__ */
  98.  
  99.  
  100. #ifndef __IWMHeaderInfo_FWD_DEFINED__
  101. #define __IWMHeaderInfo_FWD_DEFINED__
  102. typedef interface IWMHeaderInfo IWMHeaderInfo;
  103. #endif     /* __IWMHeaderInfo_FWD_DEFINED__ */
  104.  
  105.  
  106. #ifndef __IWMHeaderInfo2_FWD_DEFINED__
  107. #define __IWMHeaderInfo2_FWD_DEFINED__
  108. typedef interface IWMHeaderInfo2 IWMHeaderInfo2;
  109. #endif     /* __IWMHeaderInfo2_FWD_DEFINED__ */
  110.  
  111.  
  112. #ifndef __IWMProfileManager_FWD_DEFINED__
  113. #define __IWMProfileManager_FWD_DEFINED__
  114. typedef interface IWMProfileManager IWMProfileManager;
  115. #endif     /* __IWMProfileManager_FWD_DEFINED__ */
  116.  
  117.  
  118. #ifndef __IWMProfileManager2_FWD_DEFINED__
  119. #define __IWMProfileManager2_FWD_DEFINED__
  120. typedef interface IWMProfileManager2 IWMProfileManager2;
  121. #endif     /* __IWMProfileManager2_FWD_DEFINED__ */
  122.  
  123.  
  124. #ifndef __IWMProfile_FWD_DEFINED__
  125. #define __IWMProfile_FWD_DEFINED__
  126. typedef interface IWMProfile IWMProfile;
  127. #endif     /* __IWMProfile_FWD_DEFINED__ */
  128.  
  129.  
  130. #ifndef __IWMProfile2_FWD_DEFINED__
  131. #define __IWMProfile2_FWD_DEFINED__
  132. typedef interface IWMProfile2 IWMProfile2;
  133. #endif     /* __IWMProfile2_FWD_DEFINED__ */
  134.  
  135.  
  136. #ifndef __IWMStreamConfig_FWD_DEFINED__
  137. #define __IWMStreamConfig_FWD_DEFINED__
  138. typedef interface IWMStreamConfig IWMStreamConfig;
  139. #endif     /* __IWMStreamConfig_FWD_DEFINED__ */
  140.  
  141.  
  142. #ifndef __IWMPacketSize_FWD_DEFINED__
  143. #define __IWMPacketSize_FWD_DEFINED__
  144. typedef interface IWMPacketSize IWMPacketSize;
  145. #endif     /* __IWMPacketSize_FWD_DEFINED__ */
  146.  
  147.  
  148. #ifndef __IWMStreamList_FWD_DEFINED__
  149. #define __IWMStreamList_FWD_DEFINED__
  150. typedef interface IWMStreamList IWMStreamList;
  151. #endif     /* __IWMStreamList_FWD_DEFINED__ */
  152.  
  153.  
  154. #ifndef __IWMMutualExclusion_FWD_DEFINED__
  155. #define __IWMMutualExclusion_FWD_DEFINED__
  156. typedef interface IWMMutualExclusion IWMMutualExclusion;
  157. #endif     /* __IWMMutualExclusion_FWD_DEFINED__ */
  158.  
  159.  
  160. #ifndef __IWMWriterAdvanced_FWD_DEFINED__
  161. #define __IWMWriterAdvanced_FWD_DEFINED__
  162. typedef interface IWMWriterAdvanced IWMWriterAdvanced;
  163. #endif     /* __IWMWriterAdvanced_FWD_DEFINED__ */
  164.  
  165.  
  166. #ifndef __IWMWriterAdvanced2_FWD_DEFINED__
  167. #define __IWMWriterAdvanced2_FWD_DEFINED__
  168. typedef interface IWMWriterAdvanced2 IWMWriterAdvanced2;
  169. #endif     /* __IWMWriterAdvanced2_FWD_DEFINED__ */
  170.  
  171.  
  172. #ifndef __IWMWriterPostViewCallback_FWD_DEFINED__
  173. #define __IWMWriterPostViewCallback_FWD_DEFINED__
  174. typedef interface IWMWriterPostViewCallback IWMWriterPostViewCallback;
  175. #endif     /* __IWMWriterPostViewCallback_FWD_DEFINED__ */
  176.  
  177.  
  178. #ifndef __IWMWriterPostView_FWD_DEFINED__
  179. #define __IWMWriterPostView_FWD_DEFINED__
  180. typedef interface IWMWriterPostView IWMWriterPostView;
  181. #endif     /* __IWMWriterPostView_FWD_DEFINED__ */
  182.  
  183.  
  184. #ifndef __IWMWriterSink_FWD_DEFINED__
  185. #define __IWMWriterSink_FWD_DEFINED__
  186. typedef interface IWMWriterSink IWMWriterSink;
  187. #endif     /* __IWMWriterSink_FWD_DEFINED__ */
  188.  
  189.  
  190. #ifndef __IWMRegisterCallback_FWD_DEFINED__
  191. #define __IWMRegisterCallback_FWD_DEFINED__
  192. typedef interface IWMRegisterCallback IWMRegisterCallback;
  193. #endif     /* __IWMRegisterCallback_FWD_DEFINED__ */
  194.  
  195.  
  196. #ifndef __IWMWriterFileSink_FWD_DEFINED__
  197. #define __IWMWriterFileSink_FWD_DEFINED__
  198. typedef interface IWMWriterFileSink IWMWriterFileSink;
  199. #endif     /* __IWMWriterFileSink_FWD_DEFINED__ */
  200.  
  201.  
  202. #ifndef __IWMWriterFileSink2_FWD_DEFINED__
  203. #define __IWMWriterFileSink2_FWD_DEFINED__
  204. typedef interface IWMWriterFileSink2 IWMWriterFileSink2;
  205. #endif     /* __IWMWriterFileSink2_FWD_DEFINED__ */
  206.  
  207.  
  208. #ifndef __IWMWriterNetworkSink_FWD_DEFINED__
  209. #define __IWMWriterNetworkSink_FWD_DEFINED__
  210. typedef interface IWMWriterNetworkSink IWMWriterNetworkSink;
  211. #endif     /* __IWMWriterNetworkSink_FWD_DEFINED__ */
  212.  
  213.  
  214. #ifndef __IWMClientConnections_FWD_DEFINED__
  215. #define __IWMClientConnections_FWD_DEFINED__
  216. typedef interface IWMClientConnections IWMClientConnections;
  217. #endif     /* __IWMClientConnections_FWD_DEFINED__ */
  218.  
  219.  
  220. #ifndef __IWMReaderAdvanced_FWD_DEFINED__
  221. #define __IWMReaderAdvanced_FWD_DEFINED__
  222. typedef interface IWMReaderAdvanced IWMReaderAdvanced;
  223. #endif     /* __IWMReaderAdvanced_FWD_DEFINED__ */
  224.  
  225.  
  226. #ifndef __IWMReaderAdvanced2_FWD_DEFINED__
  227. #define __IWMReaderAdvanced2_FWD_DEFINED__
  228. typedef interface IWMReaderAdvanced2 IWMReaderAdvanced2;
  229. #endif     /* __IWMReaderAdvanced2_FWD_DEFINED__ */
  230.  
  231.  
  232. #ifndef __IWMReaderAllocatorEx_FWD_DEFINED__
  233. #define __IWMReaderAllocatorEx_FWD_DEFINED__
  234. typedef interface IWMReaderAllocatorEx IWMReaderAllocatorEx;
  235. #endif     /* __IWMReaderAllocatorEx_FWD_DEFINED__ */
  236.  
  237.  
  238. #ifndef __IWMReaderTypeNegotiation_FWD_DEFINED__
  239. #define __IWMReaderTypeNegotiation_FWD_DEFINED__
  240. typedef interface IWMReaderTypeNegotiation IWMReaderTypeNegotiation;
  241. #endif     /* __IWMReaderTypeNegotiation_FWD_DEFINED__ */
  242.  
  243.  
  244. #ifndef __IWMReaderCallbackAdvanced_FWD_DEFINED__
  245. #define __IWMReaderCallbackAdvanced_FWD_DEFINED__
  246. typedef interface IWMReaderCallbackAdvanced IWMReaderCallbackAdvanced;
  247. #endif     /* __IWMReaderCallbackAdvanced_FWD_DEFINED__ */
  248.  
  249.  
  250. #ifndef __IWMDRMReader_FWD_DEFINED__
  251. #define __IWMDRMReader_FWD_DEFINED__
  252. typedef interface IWMDRMReader IWMDRMReader;
  253. #endif     /* __IWMDRMReader_FWD_DEFINED__ */
  254.  
  255.  
  256. #ifndef __IWMReaderNetworkConfig_FWD_DEFINED__
  257. #define __IWMReaderNetworkConfig_FWD_DEFINED__
  258. typedef interface IWMReaderNetworkConfig IWMReaderNetworkConfig;
  259. #endif     /* __IWMReaderNetworkConfig_FWD_DEFINED__ */
  260.  
  261.  
  262. #ifndef __IWMReaderStreamClock_FWD_DEFINED__
  263. #define __IWMReaderStreamClock_FWD_DEFINED__
  264. typedef interface IWMReaderStreamClock IWMReaderStreamClock;
  265. #endif     /* __IWMReaderStreamClock_FWD_DEFINED__ */
  266.  
  267.  
  268. #ifndef __IWMIndexer_FWD_DEFINED__
  269. #define __IWMIndexer_FWD_DEFINED__
  270. typedef interface IWMIndexer IWMIndexer;
  271. #endif     /* __IWMIndexer_FWD_DEFINED__ */
  272.  
  273.  
  274. #ifndef __IWMLicenseBackup_FWD_DEFINED__
  275. #define __IWMLicenseBackup_FWD_DEFINED__
  276. typedef interface IWMLicenseBackup IWMLicenseBackup;
  277. #endif     /* __IWMLicenseBackup_FWD_DEFINED__ */
  278.  
  279.  
  280. #ifndef __IWMLicenseRestore_FWD_DEFINED__
  281. #define __IWMLicenseRestore_FWD_DEFINED__
  282. typedef interface IWMLicenseRestore IWMLicenseRestore;
  283. #endif     /* __IWMLicenseRestore_FWD_DEFINED__ */
  284.  
  285.  
  286. #ifndef __IWMBackupRestoreProps_FWD_DEFINED__
  287. #define __IWMBackupRestoreProps_FWD_DEFINED__
  288. typedef interface IWMBackupRestoreProps IWMBackupRestoreProps;
  289. #endif     /* __IWMBackupRestoreProps_FWD_DEFINED__ */
  290.  
  291.  
  292. #ifndef __IWMCodecInfo_FWD_DEFINED__
  293. #define __IWMCodecInfo_FWD_DEFINED__
  294. typedef interface IWMCodecInfo IWMCodecInfo;
  295. #endif     /* __IWMCodecInfo_FWD_DEFINED__ */
  296.  
  297.  
  298. #ifndef __IWMCodecInfo2_FWD_DEFINED__
  299. #define __IWMCodecInfo2_FWD_DEFINED__
  300. typedef interface IWMCodecInfo2 IWMCodecInfo2;
  301. #endif     /* __IWMCodecInfo2_FWD_DEFINED__ */
  302.  
  303.  
  304. /* header files for imported files */
  305. #include "oaidl.h"
  306. #include "wmsbuffer.h"
  307.  
  308. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  309. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  310.  
  311. /* interface __MIDL_itf_wmsdkidl_0000 */
  312. /* [local] */ 
  313.  
  314. //=========================================================================
  315. //
  316. // Microsoft Windows Media Technologies
  317. // Copyright (C) Microsoft Corporation, 1999 - 2001.  All Rights Reserved.
  318. //
  319. //=========================================================================
  320. typedef unsigned __int64 QWORD;
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352. ////////////////////////////////////////////////////////////////
  353. //
  354. // These are the special case attributes that give information 
  355. // about the Windows Media file.
  356. //
  357. static const DWORD g_dwWMSpecialAttributes = 14;
  358. static const WCHAR *g_wszWMDuration = L"Duration";
  359. static const WCHAR *g_wszWMBitrate = L"Bitrate";
  360. static const WCHAR *g_wszWMSeekable = L"Seekable";
  361. static const WCHAR *g_wszWMStridable = L"Stridable";
  362. static const WCHAR *g_wszWMBroadcast = L"Broadcast";
  363. static const WCHAR *g_wszWMProtected = L"Is_Protected";
  364. static const WCHAR *g_wszWMTrusted = L"Is_Trusted";
  365. static const WCHAR *g_wszWMSignature_Name = L"Signature_Name";
  366. static const WCHAR *g_wszWMHasAudio = L"HasAudio";
  367. static const WCHAR *g_wszWMHasImage = L"HasImage";
  368. static const WCHAR *g_wszWMHasScript = L"HasScript";
  369. static const WCHAR *g_wszWMHasVideo = L"HasVideo";
  370. static const WCHAR *g_wszWMCurrentBitrate = L"CurrentBitrate";
  371. static const WCHAR *g_wszWMOptimalBitrate = L"OptimalBitrate";
  372.  
  373. ////////////////////////////////////////////////////////////////
  374. //
  375. // The content description object supports 5 basic attributes.
  376. //
  377. static const DWORD g_dwWMContentAttributes = 5;
  378. static const WCHAR *g_wszWMTitle = L"Title";
  379. static const WCHAR *g_wszWMAuthor = L"Author";
  380. static const WCHAR *g_wszWMDescription = L"Description";
  381. static const WCHAR *g_wszWMRating = L"Rating";
  382. static const WCHAR *g_wszWMCopyright = L"Copyright";
  383.  
  384. ////////////////////////////////////////////////////////////////
  385. //
  386. // These attributes are used to set DRM properties.
  387. //
  388. static const WCHAR *g_wszWMUse_DRM = L"Use_DRM";
  389. static const WCHAR *g_wszWMDRM_Flags = L"DRM_Flags";
  390. static const WCHAR *g_wszWMDRM_Level = L"DRM_Level";
  391.  
  392. ////////////////////////////////////////////////////////////////
  393. //
  394. // These are the additional attributes defined in the WM attribute
  395. // namespace that give information about the content.
  396. //
  397. static const WCHAR *g_wszWMAlbumTitle = L"WM/AlbumTitle";
  398. static const WCHAR *g_wszWMTrack = L"WM/Track";
  399. static const WCHAR *g_wszWMPromotionURL = L"WM/PromotionURL";
  400. static const WCHAR *g_wszWMAlbumCoverURL = L"WM/AlbumCoverURL";
  401. static const WCHAR *g_wszWMGenre = L"WM/Genre";
  402. static const WCHAR *g_wszWMYear = L"WM/Year";
  403. static const WCHAR *g_wszWMGenreID = L"WM/GenreID";
  404. static const WCHAR *g_wszWMMCDI = L"WM/MCDI";
  405.  
  406. ////////////////////////////////////////////////////////////////
  407. //
  408. // These optional attributes may be used to give information 
  409. // about the branding of the content.
  410. //
  411. static const WCHAR *g_wszWMBannerImageType = L"BannerImageType";
  412. static const WCHAR *g_wszWMBannerImageData = L"BannerImageData";
  413. static const WCHAR *g_wszWMBannerImageURL = L"BannerImageURL";
  414. static const WCHAR *g_wszWMCopyrightURL = L"CopyrightURL";
  415. ////////////////////////////////////////////////////////////////
  416. //
  417. // The NSC file supports the following attributes.
  418. //
  419. static const DWORD g_dwWMNSCAttributes = 5;
  420. static const WCHAR *g_wszWMNSCName = L"NSC_Name";
  421. static const WCHAR *g_wszWMNSCAddress = L"NSC_Address";
  422. static const WCHAR *g_wszWMNSCPhone = L"NSC_Phone";
  423. static const WCHAR *g_wszWMNSCEmail = L"NSC_Email";
  424. static const WCHAR *g_wszWMNSCDescription = L"NSC_Description";
  425.  
  426. ////////////////////////////////////////////////////////////////
  427. //
  428. // These are setting names for use in Get/SetOutputSetting
  429. //
  430. static const WCHAR *g_wszEarlyDataDelivery = L"EarlyDataDelivery";
  431. static const WCHAR *g_wszJustInTimeDecode = L"JustInTimeDecode";
  432. static const WCHAR *g_wszSingleOutputBuffer = L"SingleOutputBuffer";
  433. static const WCHAR *g_wszSoftwareScaling = L"SoftwareScaling";
  434.  
  435. ////////////////////////////////////////////////////////////////
  436. //
  437. // These are setting names for use in Get/SetInputSetting
  438. //
  439. static const WCHAR *g_wszDeinterlaceMode = L"DeinterlaceMode";
  440.  
  441. ////////////////////////////////////////////////////////////////
  442. //
  443. // Flags that can be passed into the Start method of IWMReader
  444. //
  445. #define WM_START_CURRENTPOSITION     ( ( QWORD )-1 )
  446.  
  447. #define WM_BACKUP_OVERWRITE    ((DWORD) 0x00000001)
  448. #define WM_RESTORE_INDIVIDUALIZE    ((DWORD) 0x00000002)
  449. #define WAVE_FORMAT_DRM            0x0009
  450.  
  451. enum __MIDL___MIDL_itf_wmsdkidl_0000_0001
  452.     {    WM_SF_CLEANPOINT    = 0x1,
  453.     WM_SF_DISCONTINUITY    = 0x2,
  454.     WM_SF_DATALOSS    = 0x4
  455.     };
  456.  
  457. enum __MIDL___MIDL_itf_wmsdkidl_0000_0002
  458.     {    WM_SFEX_NOTASYNCPOINT    = 0x2,
  459.     WM_SFEX_DATALOSS    = 0x4
  460.     };
  461. typedef 
  462. enum WMT_STATUS
  463.     {    WMT_ERROR    = 0,
  464.     WMT_OPENED    = 1,
  465.     WMT_BUFFERING_START    = 2,
  466.     WMT_BUFFERING_STOP    = 3,
  467.     WMT_EOF    = 4,
  468.     WMT_END_OF_FILE    = 4,
  469.     WMT_END_OF_SEGMENT    = 5,
  470.     WMT_END_OF_STREAMING    = 6,
  471.     WMT_LOCATING    = 7,
  472.     WMT_CONNECTING    = 8,
  473.     WMT_NO_RIGHTS    = 9,
  474.     WMT_MISSING_CODEC    = 10,
  475.     WMT_STARTED    = 11,
  476.     WMT_STOPPED    = 12,
  477.     WMT_CLOSED    = 13,
  478.     WMT_STRIDING    = 14,
  479.     WMT_TIMER    = 15,
  480.     WMT_INDEX_PROGRESS    = 16,
  481.     WMT_SAVEAS_START    = 17,
  482.     WMT_SAVEAS_STOP    = 18,
  483.     WMT_NEW_SOURCEFLAGS    = 19,
  484.     WMT_NEW_METADATA    = 20,
  485.     WMT_BACKUPRESTORE_BEGIN    = 21,
  486.     WMT_SOURCE_SWITCH    = 22,
  487.     WMT_ACQUIRE_LICENSE    = 23,
  488.     WMT_INDIVIDUALIZE    = 24,
  489.     WMT_NEEDS_INDIVIDUALIZATION    = 25,
  490.     WMT_NO_RIGHTS_EX    = 26,
  491.     WMT_BACKUPRESTORE_END    = 27,
  492.     WMT_BACKUPRESTORE_CONNECTING    = 28,
  493.     WMT_BACKUPRESTORE_DISCONNECTING    = 29,
  494.     WMT_ERROR_WITHURL    = 30,
  495.     WMT_RESTRICTED_LICENSE    = 31,
  496.     WMT_CLIENT_CONNECT    = 32,
  497.     WMT_CLIENT_DISCONNECT    = 33
  498.     }    WMT_STATUS;
  499.  
  500. typedef 
  501. enum WMT_RIGHTS
  502.     {    WMT_RIGHT_PLAYBACK    = 0x1,
  503.     WMT_RIGHT_COPY_TO_NON_SDMI_DEVICE    = 0x2,
  504.     WMT_RIGHT_COPY_TO_CD    = 0x8,
  505.     WMT_RIGHT_COPY_TO_SDMI_DEVICE    = 0x10,
  506.     WMT_RIGHT_ONE_TIME    = 0x20,
  507.     WMT_RIGHT_SDMI_TRIGGER    = 0x10000,
  508.     WMT_RIGHT_SDMI_NOMORECOPIES    = 0x20000
  509.     }    WMT_RIGHTS;
  510.  
  511. typedef 
  512. enum WMT_STREAM_SELECTION
  513.     {    WMT_OFF    = 0,
  514.     WMT_CLEANPOINT_ONLY    = 1,
  515.     WMT_ON    = 2
  516.     }    WMT_STREAM_SELECTION;
  517.  
  518. typedef 
  519. enum WMT_ATTR_DATATYPE
  520.     {    WMT_TYPE_DWORD    = 0,
  521.     WMT_TYPE_STRING    = 1,
  522.     WMT_TYPE_BINARY    = 2,
  523.     WMT_TYPE_BOOL    = 3,
  524.     WMT_TYPE_QWORD    = 4,
  525.     WMT_TYPE_WORD    = 5,
  526.     WMT_TYPE_GUID    = 6
  527.     }    WMT_ATTR_DATATYPE;
  528.  
  529. typedef 
  530. enum WMT_ATTR_IMAGETYPE
  531.     {    WMT_IMAGETYPE_BITMAP    = 1,
  532.     WMT_IMAGETYPE_JPEG    = 2,
  533.     WMT_IMAGETYPE_GIF    = 3
  534.     }    WMT_ATTR_IMAGETYPE;
  535.  
  536. typedef 
  537. enum WMT_VERSION
  538.     {    WMT_VER_4_0    = 0x40000,
  539.     WMT_VER_7_0    = 0x70000
  540.     }    WMT_VERSION;
  541.  
  542. typedef 
  543. enum WMT_NET_PROTOCOL
  544.     {    WMT_PROTOCOL_HTTP    = 0
  545.     }    WMT_NET_PROTOCOL;
  546.  
  547. typedef 
  548. enum WMT_PLAY_MODE
  549.     {    WMT_PLAY_MODE_AUTOSELECT    = 0,
  550.     WMT_PLAY_MODE_LOCAL    = 1,
  551.     WMT_PLAY_MODE_DOWNLOAD    = 2,
  552.     WMT_PLAY_MODE_STREAMING    = 3
  553.     }    WMT_PLAY_MODE;
  554.  
  555. typedef 
  556. enum WMT_PROXY_SETTINGS
  557.     {    WMT_PROXY_SETTING_NONE    = 0,
  558.     WMT_PROXY_SETTING_MANUAL    = 1,
  559.     WMT_PROXY_SETTING_AUTO    = 2,
  560.     WMT_PROXY_SETTING_BROWSER    = 3
  561.     }    WMT_PROXY_SETTINGS;
  562.  
  563. typedef 
  564. enum WMT_CODEC_INFO_TYPE
  565.     {    WMT_CODECINFO_AUDIO    = 0,
  566.     WMT_CODECINFO_VIDEO    = 1,
  567.     WMT_CODECINFO_UNKNOWN    = 0xffffffff
  568.     }    WMT_CODEC_INFO_TYPE;
  569.  
  570. typedef 
  571. enum DRM_HTTP_STATUS
  572.     {    HTTP_NOTINITIATED    = 0,
  573.     HTTP_CONNECTING    = HTTP_NOTINITIATED + 1,
  574.     HTTP_REQUESTING    = HTTP_CONNECTING + 1,
  575.     HTTP_RECEIVING    = HTTP_REQUESTING + 1,
  576.     HTTP_COMPLETED    = HTTP_RECEIVING + 1
  577.     }    DRM_HTTP_STATUS;
  578.  
  579. typedef 
  580. enum DRM_INDIVIDUALIZATION_STATUS
  581.     {    INDI_UNDEFINED    = 0,
  582.     INDI_BEGIN    = 0x1,
  583.     INDI_SUCCEED    = 0x2,
  584.     INDI_FAIL    = 0x4,
  585.     INDI_CANCEL    = 0x8,
  586.     INDI_DOWNLOAD    = 0x10,
  587.     INDI_INSTALL    = 0x20
  588.     }    DRM_INDIVIDUALIZATION_STATUS;
  589.  
  590.  
  591. enum __MIDL___MIDL_itf_wmsdkidl_0000_0003
  592.     {    WM_DM_NOTINTERLACED    = 0,
  593.     WM_DM_DEINTERLACE_NORMAL    = 1,
  594.     WM_DM_DEINTERLACE_HALFSIZE    = 2,
  595.     WM_DM_DEINTERLACE_HALFSIZEDOUBLERATE    = 3,
  596.     WM_DM_DEINTERLACE_INVERSETELECINE    = 4,
  597.     WM_DM_DEINTERLACE_VERTICALHALFSIZEDOUBLERATE    = 5
  598.     };
  599. typedef struct  _WMWriterStatistics
  600.     {
  601.     QWORD qwSampleCount;
  602.     QWORD qwByteCount;
  603.     QWORD qwDroppedSampleCount;
  604.     QWORD qwDroppedByteCount;
  605.     DWORD dwCurrentBitrate;
  606.     DWORD dwAverageBitrate;
  607.     DWORD dwExpectedBitrate;
  608.     DWORD dwCurrentSampleRate;
  609.     DWORD dwAverageSampleRate;
  610.     DWORD dwExpectedSampleRate;
  611.     }    WM_WRITER_STATISTICS;
  612.  
  613. typedef struct  _WMReaderStatistics
  614.     {
  615.     DWORD cbSize;
  616.     DWORD dwBandwidth;
  617.     DWORD cPacketsReceived;
  618.     DWORD cPacketsRecovered;
  619.     DWORD cPacketsLost;
  620.     WORD wQuality;
  621.     }    WM_READER_STATISTICS;
  622.  
  623. typedef struct  _WMReaderClientInfo
  624.     {
  625.     DWORD cbSize;
  626.     WCHAR __RPC_FAR *wszLang;
  627.     WCHAR __RPC_FAR *wszBrowserUserAgent;
  628.     WCHAR __RPC_FAR *wszBrowserWebPage;
  629.     QWORD qwReserved;
  630.     LPARAM __RPC_FAR *pReserved;
  631.     WCHAR __RPC_FAR *wszHostExe;
  632.     QWORD qwHostVersion;
  633.     }    WM_READER_CLIENTINFO;
  634.  
  635. typedef struct  _WMIndividualizeStatus
  636.     {
  637.     HRESULT hr;
  638.     DRM_INDIVIDUALIZATION_STATUS enIndiStatus;
  639.     LPSTR pszIndiRespUrl;
  640.     DWORD dwHTTPRequest;
  641.     DRM_HTTP_STATUS enHTTPStatus;
  642.     DWORD dwHTTPReadProgress;
  643.     DWORD dwHTTPReadTotal;
  644.     }    WM_INDIVIDUALIZE_STATUS;
  645.  
  646. typedef struct  _WMGetLicenseData
  647.     {
  648.     DWORD dwSize;
  649.     HRESULT hr;
  650.     WCHAR __RPC_FAR *wszURL;
  651.     WCHAR __RPC_FAR *wszLocalFilename;
  652.     BYTE __RPC_FAR *pbPostData;
  653.     DWORD dwPostDataSize;
  654.     }    WM_GET_LICENSE_DATA;
  655.  
  656. typedef struct  _WMClientProperties
  657.     {
  658.     DWORD dwIPAddress;
  659.     DWORD dwPort;
  660.     }    WM_CLIENT_PROPERTIES;
  661.  
  662. typedef struct  _WMPortNumberRange
  663.     {
  664.     WORD wPortBegin;
  665.     WORD wPortEnd;
  666.     }    WM_PORT_NUMBER_RANGE;
  667.  
  668. typedef struct  _WMMediaType
  669.     {
  670.     GUID majortype;
  671.     GUID subtype;
  672.     BOOL bFixedSizeSamples;
  673.     BOOL bTemporalCompression;
  674.     ULONG lSampleSize;
  675.     GUID formattype;
  676.     IUnknown __RPC_FAR *pUnk;
  677.     ULONG cbFormat;
  678.     /* [size_is] */ BYTE __RPC_FAR *pbFormat;
  679.     }    WM_MEDIA_TYPE;
  680.  
  681. typedef struct tagWMVIDEOINFOHEADER
  682. {
  683.     //
  684.     // The bit we really want to use.
  685.     //
  686.     RECT rcSource;
  687.  
  688.     //
  689.     // Where the video should go.
  690.     //
  691.     RECT rcTarget;
  692.  
  693.     //
  694.     // Approximate bit data rate.
  695.     //
  696.     DWORD dwBitRate;
  697.  
  698.     //
  699.     // Bit error rate for this stream.
  700.     //
  701.     DWORD dwBitErrorRate;
  702.  
  703.     //
  704.     // Average time per frame (100ns units).
  705.     //
  706.     LONGLONG AvgTimePerFrame;
  707.  
  708.     BITMAPINFOHEADER bmiHeader;
  709. } WMVIDEOINFOHEADER;
  710. typedef struct tagWMSCRIPTFORMAT
  711. {
  712.     GUID    scriptType; 
  713. } WMSCRIPTFORMAT;
  714. // 00000000-0000-0010-8000-00AA00389B71            WMMEDIASUBTYPE_Base 
  715. EXTERN_GUID(WMMEDIASUBTYPE_Base, 
  716. 0x00000000, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); 
  717. // 73646976-0000-0010-8000-00AA00389B71  'vids' == WMMEDIATYPE_Video 
  718. EXTERN_GUID(WMMEDIATYPE_Video, 
  719. 0x73646976, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); 
  720. // e436eb78-524f-11ce-9f53-0020af0ba770            MEDIASUBTYPE_RGB1 
  721. EXTERN_GUID(WMMEDIASUBTYPE_RGB1, 
  722. 0xe436eb78, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70); 
  723. // e436eb79-524f-11ce-9f53-0020af0ba770            MEDIASUBTYPE_RGB4 
  724. EXTERN_GUID(WMMEDIASUBTYPE_RGB4, 
  725. 0xe436eb79, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70); 
  726. // e436eb7a-524f-11ce-9f53-0020af0ba770            MEDIASUBTYPE_RGB8 
  727. EXTERN_GUID(WMMEDIASUBTYPE_RGB8, 
  728. 0xe436eb7a, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70); 
  729. // e436eb7b-524f-11ce-9f53-0020af0ba770            MEDIASUBTYPE_RGB565 
  730. EXTERN_GUID(WMMEDIASUBTYPE_RGB565, 
  731. 0xe436eb7b, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70); 
  732. // e436eb7c-524f-11ce-9f53-0020af0ba770            MEDIASUBTYPE_RGB555 
  733. EXTERN_GUID(WMMEDIASUBTYPE_RGB555, 
  734. 0xe436eb7c, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70); 
  735. // e436eb7d-524f-11ce-9f53-0020af0ba770            MEDIASUBTYPE_RGB24 
  736. EXTERN_GUID(WMMEDIASUBTYPE_RGB24, 
  737. 0xe436eb7d, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70); 
  738. // e436eb7e-524f-11ce-9f53-0020af0ba770            MEDIASUBTYPE_RGB32 
  739. EXTERN_GUID(WMMEDIASUBTYPE_RGB32, 
  740. 0xe436eb7e, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70); 
  741. // 30323449-0000-0010-8000-00AA00389B71  'YV12' ==  MEDIASUBTYPE_I420 
  742. EXTERN_GUID(WMMEDIASUBTYPE_I420, 
  743. 0x30323449, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); 
  744. // 56555949-0000-0010-8000-00AA00389B71  'YV12' ==  MEDIASUBTYPE_IYUV 
  745. EXTERN_GUID(WMMEDIASUBTYPE_IYUV, 
  746. 0x56555949, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); 
  747. // 31313259-0000-0010-8000-00AA00389B71  'YV12' ==  MEDIASUBTYPE_YV12 
  748. EXTERN_GUID(WMMEDIASUBTYPE_YV12, 
  749. 0x32315659, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); 
  750. // 32595559-0000-0010-8000-00AA00389B71  'YUY2' == MEDIASUBTYPE_YUY2 
  751. EXTERN_GUID(WMMEDIASUBTYPE_YUY2, 
  752. 0x32595559, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); 
  753. // 59565955-0000-0010-8000-00AA00389B71  'UYVY' ==  MEDIASUBTYPE_UYVY 
  754. EXTERN_GUID(WMMEDIASUBTYPE_UYVY, 
  755. 0x59565955, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); 
  756. // 55595659-0000-0010-8000-00AA00389B71  'YVYU' == MEDIASUBTYPE_YVYU 
  757. EXTERN_GUID(WMMEDIASUBTYPE_YVYU, 
  758. 0x55595659, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); 
  759. // 39555659-0000-0010-8000-00AA00389B71  'YVU9' == MEDIASUBTYPE_YVU9 
  760. EXTERN_GUID(WMMEDIASUBTYPE_YVU9, 
  761. 0x39555659, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); 
  762. // 3334504D-0000-0010-8000-00AA00389B71            WMMEDIASUBTYPE_MP43 
  763. EXTERN_GUID(WMMEDIASUBTYPE_MP43, 
  764. 0x3334504D, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); 
  765. // 5334504D-0000-0010-8000-00AA00389B71            WMMEDIASUBTYPE_MP4S 
  766. EXTERN_GUID(WMMEDIASUBTYPE_MP4S, 
  767. 0x5334504D, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); 
  768. // 31564D57-0000-0010-8000-00AA00389B71            WMMEDIASUBTYPE_WMV1 
  769. EXTERN_GUID(WMMEDIASUBTYPE_WMV1, 
  770. 0x31564D57, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); 
  771. // 3153534D-0000-0010-8000-00AA00389B71            WMMEDIASUBTYPE_MSS1 
  772. EXTERN_GUID(WMMEDIASUBTYPE_MSS1, 
  773. 0x3153534D, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); 
  774. // 73647561-0000-0010-8000-00AA00389B71  'auds' == WMMEDIATYPE_Audio 
  775. EXTERN_GUID(WMMEDIATYPE_Audio, 
  776. 0x73647561, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); 
  777. // 00000001-0000-0010-8000-00AA00389B71            WMMEDIASUBTYPE_PCM 
  778. EXTERN_GUID(WMMEDIASUBTYPE_PCM, 
  779. 0x00000001, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); 
  780. // 00000009-0000-0010-8000-00AA00389B71            WMMEDIASUBTYPE_DRM 
  781. EXTERN_GUID(WMMEDIASUBTYPE_DRM, 
  782. 0x00000009, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); 
  783. // 00000161-0000-0010-8000-00AA00389B71            WMMEDIASUBTYPE_WMAudioV7 
  784. EXTERN_GUID(WMMEDIASUBTYPE_WMAudioV7, 
  785. 0x00000161, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); 
  786. // 00000161-0000-0010-8000-00AA00389B71            WMMEDIASUBTYPE_WMAudioV2 
  787. EXTERN_GUID(WMMEDIASUBTYPE_WMAudioV2, 
  788. 0x00000161, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); 
  789. // 00000130-0000-0010-8000-00AA00389B71            WMMEDIASUBTYPE_ACELPnet 
  790. EXTERN_GUID(WMMEDIASUBTYPE_ACELPnet, 
  791. 0x00000130, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); 
  792. // 73636d64-0000-0010-8000-00AA00389B71  'scmd' == MEDIATYPE_Script 
  793. EXTERN_GUID(WMMEDIATYPE_Script, 
  794. 0x73636d64, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); 
  795. // 34A50FD8-8AA5-4386-81FE-A0EFE0488E31            WMMEDIATYPE_Image 
  796. EXTERN_GUID(WMMEDIATYPE_Image, 
  797. 0x34a50fd8, 0x8aa5, 0x4386, 0x81, 0xfe, 0xa0, 0xef, 0xe0, 0x48, 0x8e, 0x31); 
  798. // 05589f80-c356-11ce-bf01-00aa0055595a        WMFORMAT_VideoInfo 
  799. EXTERN_GUID(WMFORMAT_VideoInfo, 
  800. 0x05589f80, 0xc356, 0x11ce, 0xbf, 0x01, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a); 
  801. // 05589f81-c356-11ce-bf01-00aa0055595a        WMFORMAT_WaveFormatEx 
  802. EXTERN_GUID(WMFORMAT_WaveFormatEx, 
  803. 0x05589f81, 0xc356, 0x11ce, 0xbf, 0x01, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a); 
  804. // 5C8510F2-DEBE-4ca7-BBA5-F07A104F8DFF        WMFORMAT_Script 
  805. EXTERN_GUID(WMFORMAT_Script, 
  806. 0x5c8510f2, 0xdebe, 0x4ca7, 0xbb, 0xa5, 0xf0, 0x7a, 0x10, 0x4f, 0x8d, 0xff); 
  807. // 82f38a70-c29f-11d1-97ad-00a0c95ea850        WMSCRIPTTYPE_TwoStrings 
  808. EXTERN_GUID( WMSCRIPTTYPE_TwoStrings, 
  809. 0x82f38a70,0xc29f,0x11d1,0x97,0xad,0x00,0xa0,0xc9,0x5e,0xa8,0x50); 
  810. EXTERN_GUID( IID_IWMMediaProps,         0x96406bce,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  811. EXTERN_GUID( IID_IWMVideoMediaProps,    0x96406bcf,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  812. EXTERN_GUID( IID_IWMWriter,             0x96406bd4,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  813. EXTERN_GUID( IID_IWMInputMediaProps,    0x96406bd5,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  814. EXTERN_GUID( IID_IWMReader,             0x96406bd6,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  815. EXTERN_GUID( IID_IWMOutputMediaProps,   0x96406bd7,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  816. EXTERN_GUID( IID_IWMStatusCallback,     0x6d7cdc70,0x9888,0x11d3,0x8e,0xdc,0x00,0xc0,0x4f,0x61,0x09,0xcf );
  817. EXTERN_GUID( IID_IWMReaderCallback,     0x96406bd8,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  818. EXTERN_GUID( IID_IWMCredentialCallback, 0x342e0eb7,0xe651,0x450c,0x97,0x5b,0x2a,0xce,0x2c,0x90,0xc4,0x8e );
  819. EXTERN_GUID( IID_IWMMetadataEditor,     0x96406bd9,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  820. EXTERN_GUID( IID_IWMHeaderInfo,         0x96406bda,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  821. EXTERN_GUID( IID_IWMHeaderInfo2,        0x15cf9781,0x454e,0x482e,0xb3,0x93,0x85,0xfa,0xe4,0x87,0xa8,0x10 );
  822. EXTERN_GUID( IID_IWMProfileManager,     0xd16679f2,0x6ca0,0x472d,0x8d,0x31,0x2f,0x5d,0x55,0xae,0xe1,0x55 );
  823. EXTERN_GUID( IID_IWMProfileManager2,    0x7a924e51,0x73c1,0x494d,0x80,0x19,0x23,0xd3,0x7e,0xd9,0xb8,0x9a );
  824. EXTERN_GUID( IID_IWMProfile,            0x96406bdb,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  825. EXTERN_GUID( IID_IWMProfile2,           0x07e72d33,0xd94e,0x4be7,0x88,0x43,0x60,0xae,0x5f,0xf7,0xe5,0xf5 );
  826. EXTERN_GUID( IID_IWMStreamConfig,       0x96406bdc,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  827. EXTERN_GUID( IID_IWMStreamList,         0x96406bdd,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  828. EXTERN_GUID( IID_IWMMutualExclusion,    0x96406bde,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  829. EXTERN_GUID( IID_IWMWriterAdvanced,     0x96406be3,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  830. EXTERN_GUID( IID_IWMWriterAdvanced2,    0x962dc1ec,0xc046,0x4db8,0x9c,0xc7,0x26,0xce,0xae,0x50,0x08,0x17 );
  831. EXTERN_GUID( IID_IWMWriterSink,         0x96406be4,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  832. EXTERN_GUID( IID_IWMWriterFileSink,     0x96406be5,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  833. EXTERN_GUID( IID_IWMWriterFileSink2,    0x14282ba7,0x4aef,0x4205,0x8c,0xe5,0xc2,0x29,0x03,0x5a,0x05,0xbc );
  834. EXTERN_GUID( IID_IWMWriterNetworkSink,  0x96406be7,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  835. EXTERN_GUID( IID_IWMClientConnections,  0x73c66010,0xa299,0x41df,0xb1,0xf0,0xcc,0xf0,0x3b,0x09,0xc1,0xc6 );
  836. EXTERN_GUID( IID_IWMReaderAdvanced,     0x96406bea,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  837. EXTERN_GUID( IID_IWMReaderAdvanced2,    0xae14a945,0xb90c,0x4d0d,0x91,0x27,0x80,0xd6,0x65,0xf7,0xd7,0x3e );
  838. EXTERN_GUID( IID_IWMDRMReader,          0xd2827540,0x3ee7,0x432c,0xb1,0x4c,0xdc,0x17,0xf0,0x85,0xd3,0xb3 );
  839. EXTERN_GUID( IID_IWMReaderCallbackAdvanced, 0x96406beb,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  840. EXTERN_GUID( IID_IWMReaderNetworkConfig,0x96406bec,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  841. EXTERN_GUID( IID_IWMReaderStreamClock,  0x96406bed,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff );
  842. EXTERN_GUID( IID_IWMIndexer,            0x6d7cdc71,0x9888,0x11d3,0x8e,0xdc,0x00,0xc0,0x4f,0x61,0x09,0xcf );
  843. EXTERN_GUID( IID_IWMReaderAllocatorEx,  0x9f762fa7,0xa22e,0x428d,0x93,0xc9,0xac,0x82,0xf3,0xaa,0xfe,0x5a );
  844. EXTERN_GUID( IID_IWMReaderTypeNegotiation, 0xfdbe5592,0x81a1,0x41ea,0x93,0xbd,0x73,0x5c,0xad,0x1a,0xdc,0x5 );
  845. EXTERN_GUID( IID_IWMLicenseBackup,      0x05E5AC9F,0x3FB6,0x4508,0xBB,0x43,0xA4,0x06,0x7B,0xA1,0xEB,0xE8);
  846. EXTERN_GUID( IID_IWMLicenseRestore,     0xC70B6334,0xa22e,0x4efb,0xA2,0x45,0x15,0xE6,0x5A,0x00,0x4A,0x13);
  847. EXTERN_GUID( IID_IWMBackupRestoreProps, 0x3C8E0DA6,0x996F,0x4ff3,0xA1,0xAF,0x48,0x38,0xF9,0x37,0x7e,0x2e);
  848. EXTERN_GUID( IID_IWMPacketSize,         0xcdfb97ab,0x188f,0x40b3,0xb6,0x43,0x5b,0x79,0x03,0x97,0x5c,0x59);
  849. EXTERN_GUID( IID_IWMRegisterCallback,   0xcf4b1f99,0x4de2,0x4e49,0xa3,0x63,0x25,0x27,0x40,0xd9,0x9b,0xc1);
  850. EXTERN_GUID( IID_IWMWriterPostView,     0x81e20ce4,0x75ef,0x491a,0x80,0x04,0xfc,0x53,0xc4,0x5b,0xdc,0x3e);
  851. EXTERN_GUID( IID_IWMWriterPostViewCallback, 0xd9d6549d,0xa193,0x4f24,0xb3,0x08,0x03,0x12,0x3d,0x9b,0x7f,0x8d);
  852. EXTERN_GUID( IID_IWMCodecInfo,          0xa970f41e,0x34de,0x4a98,0xb3,0xba,0xe4,0xb3,0xca,0x75,0x28,0xf0);
  853. EXTERN_GUID( IID_IWMCodecInfo2,         0xaa65e273,0xb686,0x4056,0x91,0xec,0xdd,0x76,0x8d,0x4d,0xf7,0x10);
  854. EXTERN_GUID( CLSID_WMMUTEX_Bitrate, 0xD6E22A01,0x35DA,0x11D1,0x90,0x34,0x00,0xA0,0xC9,0x03,0x49,0xBE );
  855. #define WM_MAX_VIDEO_STREAMS            0x00c
  856. HRESULT STDMETHODCALLTYPE WMCreateCertificate( IUnknown** pUnkCert );
  857. HRESULT STDMETHODCALLTYPE WMCreateWriter( IUnknown* pUnkCert, IWMWriter **ppWriter );
  858. HRESULT STDMETHODCALLTYPE WMCreateReader( IUnknown* pUnkCert, DWORD dwRights, IWMReader **ppReader );
  859. HRESULT STDMETHODCALLTYPE WMCreateEditor( IWMMetadataEditor **ppEditor );
  860. HRESULT STDMETHODCALLTYPE WMCreateIndexer( IWMIndexer **ppIndexer );
  861. HRESULT STDMETHODCALLTYPE WMCreateBackupRestorer( IUnknown *pCallback, IWMLicenseBackup **ppBackup );
  862. HRESULT STDMETHODCALLTYPE WMCreateProfileManager( IWMProfileManager **ppProfileManager );
  863. HRESULT STDMETHODCALLTYPE WMCreateWriterFileSink( IWMWriterFileSink **ppSink );
  864. HRESULT STDMETHODCALLTYPE WMCreateWriterNetworkSink( IWMWriterNetworkSink **ppSink );
  865.  
  866.  
  867. extern RPC_IF_HANDLE __MIDL_itf_wmsdkidl_0000_v0_0_c_ifspec;
  868. extern RPC_IF_HANDLE __MIDL_itf_wmsdkidl_0000_v0_0_s_ifspec;
  869.  
  870. #ifndef __IWMMediaProps_INTERFACE_DEFINED__
  871. #define __IWMMediaProps_INTERFACE_DEFINED__
  872.  
  873. /* interface IWMMediaProps */
  874. /* [local][unique][helpstring][uuid][object] */ 
  875.  
  876.  
  877. EXTERN_C const IID IID_IWMMediaProps;
  878.  
  879. #if defined(__cplusplus) && !defined(CINTERFACE)
  880.     
  881.     MIDL_INTERFACE("96406BCE-2B2B-11d3-B36B-00C04F6108FF")
  882.     IWMMediaProps : public IUnknown
  883.     {
  884.     public:
  885.         virtual HRESULT STDMETHODCALLTYPE GetType( 
  886.             /* [out] */ GUID __RPC_FAR *pguidType) = 0;
  887.         
  888.         virtual HRESULT STDMETHODCALLTYPE GetMediaType( 
  889.             /* [out] */ WM_MEDIA_TYPE __RPC_FAR *pType,
  890.             /* [out][in] */ DWORD __RPC_FAR *pcbType) = 0;
  891.         
  892.         virtual HRESULT STDMETHODCALLTYPE SetMediaType( 
  893.             /* [in] */ WM_MEDIA_TYPE __RPC_FAR *pType) = 0;
  894.         
  895.     };
  896.     
  897. #else     /* C style interface */
  898.  
  899.     typedef struct IWMMediaPropsVtbl
  900.     {
  901.         BEGIN_INTERFACE
  902.         
  903.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  904.             IWMMediaProps __RPC_FAR * This,
  905.             /* [in] */ REFIID riid,
  906.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  907.         
  908.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  909.             IWMMediaProps __RPC_FAR * This);
  910.         
  911.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  912.             IWMMediaProps __RPC_FAR * This);
  913.         
  914.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetType )( 
  915.             IWMMediaProps __RPC_FAR * This,
  916.             /* [out] */ GUID __RPC_FAR *pguidType);
  917.         
  918.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMediaType )( 
  919.             IWMMediaProps __RPC_FAR * This,
  920.             /* [out] */ WM_MEDIA_TYPE __RPC_FAR *pType,
  921.             /* [out][in] */ DWORD __RPC_FAR *pcbType);
  922.         
  923.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMediaType )( 
  924.             IWMMediaProps __RPC_FAR * This,
  925.             /* [in] */ WM_MEDIA_TYPE __RPC_FAR *pType);
  926.         
  927.         END_INTERFACE
  928.     } IWMMediaPropsVtbl;
  929.  
  930.     interface IWMMediaProps
  931.     {
  932.         CONST_VTBL struct IWMMediaPropsVtbl __RPC_FAR *lpVtbl;
  933.     };
  934.  
  935.     
  936.  
  937. #ifdef COBJMACROS
  938.  
  939.  
  940. #define IWMMediaProps_QueryInterface(This,riid,ppvObject)    \
  941.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  942.  
  943. #define IWMMediaProps_AddRef(This)    \
  944.     (This)->lpVtbl -> AddRef(This)
  945.  
  946. #define IWMMediaProps_Release(This)    \
  947.     (This)->lpVtbl -> Release(This)
  948.  
  949.  
  950. #define IWMMediaProps_GetType(This,pguidType)    \
  951.     (This)->lpVtbl -> GetType(This,pguidType)
  952.  
  953. #define IWMMediaProps_GetMediaType(This,pType,pcbType)    \
  954.     (This)->lpVtbl -> GetMediaType(This,pType,pcbType)
  955.  
  956. #define IWMMediaProps_SetMediaType(This,pType)    \
  957.     (This)->lpVtbl -> SetMediaType(This,pType)
  958.  
  959. #endif /* COBJMACROS */
  960.  
  961.  
  962. #endif     /* C style interface */
  963.  
  964.  
  965.  
  966. HRESULT STDMETHODCALLTYPE IWMMediaProps_GetType_Proxy( 
  967.     IWMMediaProps __RPC_FAR * This,
  968.     /* [out] */ GUID __RPC_FAR *pguidType);
  969.  
  970.  
  971. void __RPC_STUB IWMMediaProps_GetType_Stub(
  972.     IRpcStubBuffer *This,
  973.     IRpcChannelBuffer *_pRpcChannelBuffer,
  974.     PRPC_MESSAGE _pRpcMessage,
  975.     DWORD *_pdwStubPhase);
  976.  
  977.  
  978. HRESULT STDMETHODCALLTYPE IWMMediaProps_GetMediaType_Proxy( 
  979.     IWMMediaProps __RPC_FAR * This,
  980.     /* [out] */ WM_MEDIA_TYPE __RPC_FAR *pType,
  981.     /* [out][in] */ DWORD __RPC_FAR *pcbType);
  982.  
  983.  
  984. void __RPC_STUB IWMMediaProps_GetMediaType_Stub(
  985.     IRpcStubBuffer *This,
  986.     IRpcChannelBuffer *_pRpcChannelBuffer,
  987.     PRPC_MESSAGE _pRpcMessage,
  988.     DWORD *_pdwStubPhase);
  989.  
  990.  
  991. HRESULT STDMETHODCALLTYPE IWMMediaProps_SetMediaType_Proxy( 
  992.     IWMMediaProps __RPC_FAR * This,
  993.     /* [in] */ WM_MEDIA_TYPE __RPC_FAR *pType);
  994.  
  995.  
  996. void __RPC_STUB IWMMediaProps_SetMediaType_Stub(
  997.     IRpcStubBuffer *This,
  998.     IRpcChannelBuffer *_pRpcChannelBuffer,
  999.     PRPC_MESSAGE _pRpcMessage,
  1000.     DWORD *_pdwStubPhase);
  1001.  
  1002.  
  1003.  
  1004. #endif     /* __IWMMediaProps_INTERFACE_DEFINED__ */
  1005.  
  1006.  
  1007. #ifndef __IWMVideoMediaProps_INTERFACE_DEFINED__
  1008. #define __IWMVideoMediaProps_INTERFACE_DEFINED__
  1009.  
  1010. /* interface IWMVideoMediaProps */
  1011. /* [local][unique][helpstring][uuid][object] */ 
  1012.  
  1013.  
  1014. EXTERN_C const IID IID_IWMVideoMediaProps;
  1015.  
  1016. #if defined(__cplusplus) && !defined(CINTERFACE)
  1017.     
  1018.     MIDL_INTERFACE("96406BCF-2B2B-11d3-B36B-00C04F6108FF")
  1019.     IWMVideoMediaProps : public IWMMediaProps
  1020.     {
  1021.     public:
  1022.         virtual HRESULT STDMETHODCALLTYPE GetMaxKeyFrameSpacing( 
  1023.             /* [out] */ LONGLONG __RPC_FAR *pllTime) = 0;
  1024.         
  1025.         virtual HRESULT STDMETHODCALLTYPE SetMaxKeyFrameSpacing( 
  1026.             /* [in] */ LONGLONG llTime) = 0;
  1027.         
  1028.         virtual HRESULT STDMETHODCALLTYPE GetQuality( 
  1029.             /* [out] */ DWORD __RPC_FAR *pdwQuality) = 0;
  1030.         
  1031.         virtual HRESULT STDMETHODCALLTYPE SetQuality( 
  1032.             /* [in] */ DWORD dwQuality) = 0;
  1033.         
  1034.     };
  1035.     
  1036. #else     /* C style interface */
  1037.  
  1038.     typedef struct IWMVideoMediaPropsVtbl
  1039.     {
  1040.         BEGIN_INTERFACE
  1041.         
  1042.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1043.             IWMVideoMediaProps __RPC_FAR * This,
  1044.             /* [in] */ REFIID riid,
  1045.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1046.         
  1047.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1048.             IWMVideoMediaProps __RPC_FAR * This);
  1049.         
  1050.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1051.             IWMVideoMediaProps __RPC_FAR * This);
  1052.         
  1053.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetType )( 
  1054.             IWMVideoMediaProps __RPC_FAR * This,
  1055.             /* [out] */ GUID __RPC_FAR *pguidType);
  1056.         
  1057.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMediaType )( 
  1058.             IWMVideoMediaProps __RPC_FAR * This,
  1059.             /* [out] */ WM_MEDIA_TYPE __RPC_FAR *pType,
  1060.             /* [out][in] */ DWORD __RPC_FAR *pcbType);
  1061.         
  1062.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMediaType )( 
  1063.             IWMVideoMediaProps __RPC_FAR * This,
  1064.             /* [in] */ WM_MEDIA_TYPE __RPC_FAR *pType);
  1065.         
  1066.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMaxKeyFrameSpacing )( 
  1067.             IWMVideoMediaProps __RPC_FAR * This,
  1068.             /* [out] */ LONGLONG __RPC_FAR *pllTime);
  1069.         
  1070.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMaxKeyFrameSpacing )( 
  1071.             IWMVideoMediaProps __RPC_FAR * This,
  1072.             /* [in] */ LONGLONG llTime);
  1073.         
  1074.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetQuality )( 
  1075.             IWMVideoMediaProps __RPC_FAR * This,
  1076.             /* [out] */ DWORD __RPC_FAR *pdwQuality);
  1077.         
  1078.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetQuality )( 
  1079.             IWMVideoMediaProps __RPC_FAR * This,
  1080.             /* [in] */ DWORD dwQuality);
  1081.         
  1082.         END_INTERFACE
  1083.     } IWMVideoMediaPropsVtbl;
  1084.  
  1085.     interface IWMVideoMediaProps
  1086.     {
  1087.         CONST_VTBL struct IWMVideoMediaPropsVtbl __RPC_FAR *lpVtbl;
  1088.     };
  1089.  
  1090.     
  1091.  
  1092. #ifdef COBJMACROS
  1093.  
  1094.  
  1095. #define IWMVideoMediaProps_QueryInterface(This,riid,ppvObject)    \
  1096.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1097.  
  1098. #define IWMVideoMediaProps_AddRef(This)    \
  1099.     (This)->lpVtbl -> AddRef(This)
  1100.  
  1101. #define IWMVideoMediaProps_Release(This)    \
  1102.     (This)->lpVtbl -> Release(This)
  1103.  
  1104.  
  1105. #define IWMVideoMediaProps_GetType(This,pguidType)    \
  1106.     (This)->lpVtbl -> GetType(This,pguidType)
  1107.  
  1108. #define IWMVideoMediaProps_GetMediaType(This,pType,pcbType)    \
  1109.     (This)->lpVtbl -> GetMediaType(This,pType,pcbType)
  1110.  
  1111. #define IWMVideoMediaProps_SetMediaType(This,pType)    \
  1112.     (This)->lpVtbl -> SetMediaType(This,pType)
  1113.  
  1114.  
  1115. #define IWMVideoMediaProps_GetMaxKeyFrameSpacing(This,pllTime)    \
  1116.     (This)->lpVtbl -> GetMaxKeyFrameSpacing(This,pllTime)
  1117.  
  1118. #define IWMVideoMediaProps_SetMaxKeyFrameSpacing(This,llTime)    \
  1119.     (This)->lpVtbl -> SetMaxKeyFrameSpacing(This,llTime)
  1120.  
  1121. #define IWMVideoMediaProps_GetQuality(This,pdwQuality)    \
  1122.     (This)->lpVtbl -> GetQuality(This,pdwQuality)
  1123.  
  1124. #define IWMVideoMediaProps_SetQuality(This,dwQuality)    \
  1125.     (This)->lpVtbl -> SetQuality(This,dwQuality)
  1126.  
  1127. #endif /* COBJMACROS */
  1128.  
  1129.  
  1130. #endif     /* C style interface */
  1131.  
  1132.  
  1133.  
  1134. HRESULT STDMETHODCALLTYPE IWMVideoMediaProps_GetMaxKeyFrameSpacing_Proxy( 
  1135.     IWMVideoMediaProps __RPC_FAR * This,
  1136.     /* [out] */ LONGLONG __RPC_FAR *pllTime);
  1137.  
  1138.  
  1139. void __RPC_STUB IWMVideoMediaProps_GetMaxKeyFrameSpacing_Stub(
  1140.     IRpcStubBuffer *This,
  1141.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1142.     PRPC_MESSAGE _pRpcMessage,
  1143.     DWORD *_pdwStubPhase);
  1144.  
  1145.  
  1146. HRESULT STDMETHODCALLTYPE IWMVideoMediaProps_SetMaxKeyFrameSpacing_Proxy( 
  1147.     IWMVideoMediaProps __RPC_FAR * This,
  1148.     /* [in] */ LONGLONG llTime);
  1149.  
  1150.  
  1151. void __RPC_STUB IWMVideoMediaProps_SetMaxKeyFrameSpacing_Stub(
  1152.     IRpcStubBuffer *This,
  1153.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1154.     PRPC_MESSAGE _pRpcMessage,
  1155.     DWORD *_pdwStubPhase);
  1156.  
  1157.  
  1158. HRESULT STDMETHODCALLTYPE IWMVideoMediaProps_GetQuality_Proxy( 
  1159.     IWMVideoMediaProps __RPC_FAR * This,
  1160.     /* [out] */ DWORD __RPC_FAR *pdwQuality);
  1161.  
  1162.  
  1163. void __RPC_STUB IWMVideoMediaProps_GetQuality_Stub(
  1164.     IRpcStubBuffer *This,
  1165.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1166.     PRPC_MESSAGE _pRpcMessage,
  1167.     DWORD *_pdwStubPhase);
  1168.  
  1169.  
  1170. HRESULT STDMETHODCALLTYPE IWMVideoMediaProps_SetQuality_Proxy( 
  1171.     IWMVideoMediaProps __RPC_FAR * This,
  1172.     /* [in] */ DWORD dwQuality);
  1173.  
  1174.  
  1175. void __RPC_STUB IWMVideoMediaProps_SetQuality_Stub(
  1176.     IRpcStubBuffer *This,
  1177.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1178.     PRPC_MESSAGE _pRpcMessage,
  1179.     DWORD *_pdwStubPhase);
  1180.  
  1181.  
  1182.  
  1183. #endif     /* __IWMVideoMediaProps_INTERFACE_DEFINED__ */
  1184.  
  1185.  
  1186. #ifndef __IWMWriter_INTERFACE_DEFINED__
  1187. #define __IWMWriter_INTERFACE_DEFINED__
  1188.  
  1189. /* interface IWMWriter */
  1190. /* [local][unique][helpstring][uuid][object] */ 
  1191.  
  1192.  
  1193. EXTERN_C const IID IID_IWMWriter;
  1194.  
  1195. #if defined(__cplusplus) && !defined(CINTERFACE)
  1196.     
  1197.     MIDL_INTERFACE("96406BD4-2B2B-11d3-B36B-00C04F6108FF")
  1198.     IWMWriter : public IUnknown
  1199.     {
  1200.     public:
  1201.         virtual HRESULT STDMETHODCALLTYPE SetProfileByID( 
  1202.             /* [in] */ REFGUID guidProfile) = 0;
  1203.         
  1204.         virtual HRESULT STDMETHODCALLTYPE SetProfile( 
  1205.             /* [in] */ IWMProfile __RPC_FAR *pProfile) = 0;
  1206.         
  1207.         virtual HRESULT STDMETHODCALLTYPE SetOutputFilename( 
  1208.             /* [in] */ const WCHAR __RPC_FAR *pwszFilename) = 0;
  1209.         
  1210.         virtual HRESULT STDMETHODCALLTYPE GetInputCount( 
  1211.             /* [out] */ DWORD __RPC_FAR *pcInputs) = 0;
  1212.         
  1213.         virtual HRESULT STDMETHODCALLTYPE GetInputProps( 
  1214.             /* [in] */ DWORD dwInputNum,
  1215.             /* [out] */ IWMInputMediaProps __RPC_FAR *__RPC_FAR *ppInput) = 0;
  1216.         
  1217.         virtual HRESULT STDMETHODCALLTYPE SetInputProps( 
  1218.             /* [in] */ DWORD dwInputNum,
  1219.             /* [in] */ IWMInputMediaProps __RPC_FAR *pInput) = 0;
  1220.         
  1221.         virtual HRESULT STDMETHODCALLTYPE GetInputFormatCount( 
  1222.             /* [in] */ DWORD dwInputNumber,
  1223.             /* [out] */ DWORD __RPC_FAR *pcFormats) = 0;
  1224.         
  1225.         virtual HRESULT STDMETHODCALLTYPE GetInputFormat( 
  1226.             /* [in] */ DWORD dwInputNumber,
  1227.             /* [in] */ DWORD dwFormatNumber,
  1228.             /* [out] */ IWMInputMediaProps __RPC_FAR *__RPC_FAR *pProps) = 0;
  1229.         
  1230.         virtual HRESULT STDMETHODCALLTYPE BeginWriting( void) = 0;
  1231.         
  1232.         virtual HRESULT STDMETHODCALLTYPE EndWriting( void) = 0;
  1233.         
  1234.         virtual HRESULT STDMETHODCALLTYPE AllocateSample( 
  1235.             /* [in] */ DWORD dwSampleSize,
  1236.             /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppSample) = 0;
  1237.         
  1238.         virtual HRESULT STDMETHODCALLTYPE WriteSample( 
  1239.             /* [in] */ DWORD dwInputNum,
  1240.             /* [in] */ QWORD cnsSampleTime,
  1241.             /* [in] */ DWORD dwFlags,
  1242.             /* [in] */ INSSBuffer __RPC_FAR *pSample) = 0;
  1243.         
  1244.         virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0;
  1245.         
  1246.     };
  1247.     
  1248. #else     /* C style interface */
  1249.  
  1250.     typedef struct IWMWriterVtbl
  1251.     {
  1252.         BEGIN_INTERFACE
  1253.         
  1254.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1255.             IWMWriter __RPC_FAR * This,
  1256.             /* [in] */ REFIID riid,
  1257.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1258.         
  1259.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1260.             IWMWriter __RPC_FAR * This);
  1261.         
  1262.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1263.             IWMWriter __RPC_FAR * This);
  1264.         
  1265.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProfileByID )( 
  1266.             IWMWriter __RPC_FAR * This,
  1267.             /* [in] */ REFGUID guidProfile);
  1268.         
  1269.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProfile )( 
  1270.             IWMWriter __RPC_FAR * This,
  1271.             /* [in] */ IWMProfile __RPC_FAR *pProfile);
  1272.         
  1273.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOutputFilename )( 
  1274.             IWMWriter __RPC_FAR * This,
  1275.             /* [in] */ const WCHAR __RPC_FAR *pwszFilename);
  1276.         
  1277.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInputCount )( 
  1278.             IWMWriter __RPC_FAR * This,
  1279.             /* [out] */ DWORD __RPC_FAR *pcInputs);
  1280.         
  1281.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInputProps )( 
  1282.             IWMWriter __RPC_FAR * This,
  1283.             /* [in] */ DWORD dwInputNum,
  1284.             /* [out] */ IWMInputMediaProps __RPC_FAR *__RPC_FAR *ppInput);
  1285.         
  1286.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetInputProps )( 
  1287.             IWMWriter __RPC_FAR * This,
  1288.             /* [in] */ DWORD dwInputNum,
  1289.             /* [in] */ IWMInputMediaProps __RPC_FAR *pInput);
  1290.         
  1291.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInputFormatCount )( 
  1292.             IWMWriter __RPC_FAR * This,
  1293.             /* [in] */ DWORD dwInputNumber,
  1294.             /* [out] */ DWORD __RPC_FAR *pcFormats);
  1295.         
  1296.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInputFormat )( 
  1297.             IWMWriter __RPC_FAR * This,
  1298.             /* [in] */ DWORD dwInputNumber,
  1299.             /* [in] */ DWORD dwFormatNumber,
  1300.             /* [out] */ IWMInputMediaProps __RPC_FAR *__RPC_FAR *pProps);
  1301.         
  1302.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BeginWriting )( 
  1303.             IWMWriter __RPC_FAR * This);
  1304.         
  1305.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EndWriting )( 
  1306.             IWMWriter __RPC_FAR * This);
  1307.         
  1308.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateSample )( 
  1309.             IWMWriter __RPC_FAR * This,
  1310.             /* [in] */ DWORD dwSampleSize,
  1311.             /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppSample);
  1312.         
  1313.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteSample )( 
  1314.             IWMWriter __RPC_FAR * This,
  1315.             /* [in] */ DWORD dwInputNum,
  1316.             /* [in] */ QWORD cnsSampleTime,
  1317.             /* [in] */ DWORD dwFlags,
  1318.             /* [in] */ INSSBuffer __RPC_FAR *pSample);
  1319.         
  1320.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Flush )( 
  1321.             IWMWriter __RPC_FAR * This);
  1322.         
  1323.         END_INTERFACE
  1324.     } IWMWriterVtbl;
  1325.  
  1326.     interface IWMWriter
  1327.     {
  1328.         CONST_VTBL struct IWMWriterVtbl __RPC_FAR *lpVtbl;
  1329.     };
  1330.  
  1331.     
  1332.  
  1333. #ifdef COBJMACROS
  1334.  
  1335.  
  1336. #define IWMWriter_QueryInterface(This,riid,ppvObject)    \
  1337.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1338.  
  1339. #define IWMWriter_AddRef(This)    \
  1340.     (This)->lpVtbl -> AddRef(This)
  1341.  
  1342. #define IWMWriter_Release(This)    \
  1343.     (This)->lpVtbl -> Release(This)
  1344.  
  1345.  
  1346. #define IWMWriter_SetProfileByID(This,guidProfile)    \
  1347.     (This)->lpVtbl -> SetProfileByID(This,guidProfile)
  1348.  
  1349. #define IWMWriter_SetProfile(This,pProfile)    \
  1350.     (This)->lpVtbl -> SetProfile(This,pProfile)
  1351.  
  1352. #define IWMWriter_SetOutputFilename(This,pwszFilename)    \
  1353.     (This)->lpVtbl -> SetOutputFilename(This,pwszFilename)
  1354.  
  1355. #define IWMWriter_GetInputCount(This,pcInputs)    \
  1356.     (This)->lpVtbl -> GetInputCount(This,pcInputs)
  1357.  
  1358. #define IWMWriter_GetInputProps(This,dwInputNum,ppInput)    \
  1359.     (This)->lpVtbl -> GetInputProps(This,dwInputNum,ppInput)
  1360.  
  1361. #define IWMWriter_SetInputProps(This,dwInputNum,pInput)    \
  1362.     (This)->lpVtbl -> SetInputProps(This,dwInputNum,pInput)
  1363.  
  1364. #define IWMWriter_GetInputFormatCount(This,dwInputNumber,pcFormats)    \
  1365.     (This)->lpVtbl -> GetInputFormatCount(This,dwInputNumber,pcFormats)
  1366.  
  1367. #define IWMWriter_GetInputFormat(This,dwInputNumber,dwFormatNumber,pProps)    \
  1368.     (This)->lpVtbl -> GetInputFormat(This,dwInputNumber,dwFormatNumber,pProps)
  1369.  
  1370. #define IWMWriter_BeginWriting(This)    \
  1371.     (This)->lpVtbl -> BeginWriting(This)
  1372.  
  1373. #define IWMWriter_EndWriting(This)    \
  1374.     (This)->lpVtbl -> EndWriting(This)
  1375.  
  1376. #define IWMWriter_AllocateSample(This,dwSampleSize,ppSample)    \
  1377.     (This)->lpVtbl -> AllocateSample(This,dwSampleSize,ppSample)
  1378.  
  1379. #define IWMWriter_WriteSample(This,dwInputNum,cnsSampleTime,dwFlags,pSample)    \
  1380.     (This)->lpVtbl -> WriteSample(This,dwInputNum,cnsSampleTime,dwFlags,pSample)
  1381.  
  1382. #define IWMWriter_Flush(This)    \
  1383.     (This)->lpVtbl -> Flush(This)
  1384.  
  1385. #endif /* COBJMACROS */
  1386.  
  1387.  
  1388. #endif     /* C style interface */
  1389.  
  1390.  
  1391.  
  1392. HRESULT STDMETHODCALLTYPE IWMWriter_SetProfileByID_Proxy( 
  1393.     IWMWriter __RPC_FAR * This,
  1394.     /* [in] */ REFGUID guidProfile);
  1395.  
  1396.  
  1397. void __RPC_STUB IWMWriter_SetProfileByID_Stub(
  1398.     IRpcStubBuffer *This,
  1399.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1400.     PRPC_MESSAGE _pRpcMessage,
  1401.     DWORD *_pdwStubPhase);
  1402.  
  1403.  
  1404. HRESULT STDMETHODCALLTYPE IWMWriter_SetProfile_Proxy( 
  1405.     IWMWriter __RPC_FAR * This,
  1406.     /* [in] */ IWMProfile __RPC_FAR *pProfile);
  1407.  
  1408.  
  1409. void __RPC_STUB IWMWriter_SetProfile_Stub(
  1410.     IRpcStubBuffer *This,
  1411.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1412.     PRPC_MESSAGE _pRpcMessage,
  1413.     DWORD *_pdwStubPhase);
  1414.  
  1415.  
  1416. HRESULT STDMETHODCALLTYPE IWMWriter_SetOutputFilename_Proxy( 
  1417.     IWMWriter __RPC_FAR * This,
  1418.     /* [in] */ const WCHAR __RPC_FAR *pwszFilename);
  1419.  
  1420.  
  1421. void __RPC_STUB IWMWriter_SetOutputFilename_Stub(
  1422.     IRpcStubBuffer *This,
  1423.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1424.     PRPC_MESSAGE _pRpcMessage,
  1425.     DWORD *_pdwStubPhase);
  1426.  
  1427.  
  1428. HRESULT STDMETHODCALLTYPE IWMWriter_GetInputCount_Proxy( 
  1429.     IWMWriter __RPC_FAR * This,
  1430.     /* [out] */ DWORD __RPC_FAR *pcInputs);
  1431.  
  1432.  
  1433. void __RPC_STUB IWMWriter_GetInputCount_Stub(
  1434.     IRpcStubBuffer *This,
  1435.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1436.     PRPC_MESSAGE _pRpcMessage,
  1437.     DWORD *_pdwStubPhase);
  1438.  
  1439.  
  1440. HRESULT STDMETHODCALLTYPE IWMWriter_GetInputProps_Proxy( 
  1441.     IWMWriter __RPC_FAR * This,
  1442.     /* [in] */ DWORD dwInputNum,
  1443.     /* [out] */ IWMInputMediaProps __RPC_FAR *__RPC_FAR *ppInput);
  1444.  
  1445.  
  1446. void __RPC_STUB IWMWriter_GetInputProps_Stub(
  1447.     IRpcStubBuffer *This,
  1448.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1449.     PRPC_MESSAGE _pRpcMessage,
  1450.     DWORD *_pdwStubPhase);
  1451.  
  1452.  
  1453. HRESULT STDMETHODCALLTYPE IWMWriter_SetInputProps_Proxy( 
  1454.     IWMWriter __RPC_FAR * This,
  1455.     /* [in] */ DWORD dwInputNum,
  1456.     /* [in] */ IWMInputMediaProps __RPC_FAR *pInput);
  1457.  
  1458.  
  1459. void __RPC_STUB IWMWriter_SetInputProps_Stub(
  1460.     IRpcStubBuffer *This,
  1461.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1462.     PRPC_MESSAGE _pRpcMessage,
  1463.     DWORD *_pdwStubPhase);
  1464.  
  1465.  
  1466. HRESULT STDMETHODCALLTYPE IWMWriter_GetInputFormatCount_Proxy( 
  1467.     IWMWriter __RPC_FAR * This,
  1468.     /* [in] */ DWORD dwInputNumber,
  1469.     /* [out] */ DWORD __RPC_FAR *pcFormats);
  1470.  
  1471.  
  1472. void __RPC_STUB IWMWriter_GetInputFormatCount_Stub(
  1473.     IRpcStubBuffer *This,
  1474.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1475.     PRPC_MESSAGE _pRpcMessage,
  1476.     DWORD *_pdwStubPhase);
  1477.  
  1478.  
  1479. HRESULT STDMETHODCALLTYPE IWMWriter_GetInputFormat_Proxy( 
  1480.     IWMWriter __RPC_FAR * This,
  1481.     /* [in] */ DWORD dwInputNumber,
  1482.     /* [in] */ DWORD dwFormatNumber,
  1483.     /* [out] */ IWMInputMediaProps __RPC_FAR *__RPC_FAR *pProps);
  1484.  
  1485.  
  1486. void __RPC_STUB IWMWriter_GetInputFormat_Stub(
  1487.     IRpcStubBuffer *This,
  1488.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1489.     PRPC_MESSAGE _pRpcMessage,
  1490.     DWORD *_pdwStubPhase);
  1491.  
  1492.  
  1493. HRESULT STDMETHODCALLTYPE IWMWriter_BeginWriting_Proxy( 
  1494.     IWMWriter __RPC_FAR * This);
  1495.  
  1496.  
  1497. void __RPC_STUB IWMWriter_BeginWriting_Stub(
  1498.     IRpcStubBuffer *This,
  1499.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1500.     PRPC_MESSAGE _pRpcMessage,
  1501.     DWORD *_pdwStubPhase);
  1502.  
  1503.  
  1504. HRESULT STDMETHODCALLTYPE IWMWriter_EndWriting_Proxy( 
  1505.     IWMWriter __RPC_FAR * This);
  1506.  
  1507.  
  1508. void __RPC_STUB IWMWriter_EndWriting_Stub(
  1509.     IRpcStubBuffer *This,
  1510.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1511.     PRPC_MESSAGE _pRpcMessage,
  1512.     DWORD *_pdwStubPhase);
  1513.  
  1514.  
  1515. HRESULT STDMETHODCALLTYPE IWMWriter_AllocateSample_Proxy( 
  1516.     IWMWriter __RPC_FAR * This,
  1517.     /* [in] */ DWORD dwSampleSize,
  1518.     /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppSample);
  1519.  
  1520.  
  1521. void __RPC_STUB IWMWriter_AllocateSample_Stub(
  1522.     IRpcStubBuffer *This,
  1523.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1524.     PRPC_MESSAGE _pRpcMessage,
  1525.     DWORD *_pdwStubPhase);
  1526.  
  1527.  
  1528. HRESULT STDMETHODCALLTYPE IWMWriter_WriteSample_Proxy( 
  1529.     IWMWriter __RPC_FAR * This,
  1530.     /* [in] */ DWORD dwInputNum,
  1531.     /* [in] */ QWORD cnsSampleTime,
  1532.     /* [in] */ DWORD dwFlags,
  1533.     /* [in] */ INSSBuffer __RPC_FAR *pSample);
  1534.  
  1535.  
  1536. void __RPC_STUB IWMWriter_WriteSample_Stub(
  1537.     IRpcStubBuffer *This,
  1538.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1539.     PRPC_MESSAGE _pRpcMessage,
  1540.     DWORD *_pdwStubPhase);
  1541.  
  1542.  
  1543. HRESULT STDMETHODCALLTYPE IWMWriter_Flush_Proxy( 
  1544.     IWMWriter __RPC_FAR * This);
  1545.  
  1546.  
  1547. void __RPC_STUB IWMWriter_Flush_Stub(
  1548.     IRpcStubBuffer *This,
  1549.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1550.     PRPC_MESSAGE _pRpcMessage,
  1551.     DWORD *_pdwStubPhase);
  1552.  
  1553.  
  1554.  
  1555. #endif     /* __IWMWriter_INTERFACE_DEFINED__ */
  1556.  
  1557.  
  1558. #ifndef __IWMInputMediaProps_INTERFACE_DEFINED__
  1559. #define __IWMInputMediaProps_INTERFACE_DEFINED__
  1560.  
  1561. /* interface IWMInputMediaProps */
  1562. /* [local][unique][helpstring][uuid][object] */ 
  1563.  
  1564.  
  1565. EXTERN_C const IID IID_IWMInputMediaProps;
  1566.  
  1567. #if defined(__cplusplus) && !defined(CINTERFACE)
  1568.     
  1569.     MIDL_INTERFACE("96406BD5-2B2B-11d3-B36B-00C04F6108FF")
  1570.     IWMInputMediaProps : public IWMMediaProps
  1571.     {
  1572.     public:
  1573.         virtual HRESULT STDMETHODCALLTYPE GetConnectionName( 
  1574.             /* [out] */ WCHAR __RPC_FAR *pwszName,
  1575.             /* [out][in] */ WORD __RPC_FAR *pcchName) = 0;
  1576.         
  1577.         virtual HRESULT STDMETHODCALLTYPE GetGroupName( 
  1578.             /* [out] */ WCHAR __RPC_FAR *pwszName,
  1579.             /* [out][in] */ WORD __RPC_FAR *pcchName) = 0;
  1580.         
  1581.     };
  1582.     
  1583. #else     /* C style interface */
  1584.  
  1585.     typedef struct IWMInputMediaPropsVtbl
  1586.     {
  1587.         BEGIN_INTERFACE
  1588.         
  1589.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1590.             IWMInputMediaProps __RPC_FAR * This,
  1591.             /* [in] */ REFIID riid,
  1592.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1593.         
  1594.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1595.             IWMInputMediaProps __RPC_FAR * This);
  1596.         
  1597.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1598.             IWMInputMediaProps __RPC_FAR * This);
  1599.         
  1600.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetType )( 
  1601.             IWMInputMediaProps __RPC_FAR * This,
  1602.             /* [out] */ GUID __RPC_FAR *pguidType);
  1603.         
  1604.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMediaType )( 
  1605.             IWMInputMediaProps __RPC_FAR * This,
  1606.             /* [out] */ WM_MEDIA_TYPE __RPC_FAR *pType,
  1607.             /* [out][in] */ DWORD __RPC_FAR *pcbType);
  1608.         
  1609.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMediaType )( 
  1610.             IWMInputMediaProps __RPC_FAR * This,
  1611.             /* [in] */ WM_MEDIA_TYPE __RPC_FAR *pType);
  1612.         
  1613.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetConnectionName )( 
  1614.             IWMInputMediaProps __RPC_FAR * This,
  1615.             /* [out] */ WCHAR __RPC_FAR *pwszName,
  1616.             /* [out][in] */ WORD __RPC_FAR *pcchName);
  1617.         
  1618.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetGroupName )( 
  1619.             IWMInputMediaProps __RPC_FAR * This,
  1620.             /* [out] */ WCHAR __RPC_FAR *pwszName,
  1621.             /* [out][in] */ WORD __RPC_FAR *pcchName);
  1622.         
  1623.         END_INTERFACE
  1624.     } IWMInputMediaPropsVtbl;
  1625.  
  1626.     interface IWMInputMediaProps
  1627.     {
  1628.         CONST_VTBL struct IWMInputMediaPropsVtbl __RPC_FAR *lpVtbl;
  1629.     };
  1630.  
  1631.     
  1632.  
  1633. #ifdef COBJMACROS
  1634.  
  1635.  
  1636. #define IWMInputMediaProps_QueryInterface(This,riid,ppvObject)    \
  1637.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1638.  
  1639. #define IWMInputMediaProps_AddRef(This)    \
  1640.     (This)->lpVtbl -> AddRef(This)
  1641.  
  1642. #define IWMInputMediaProps_Release(This)    \
  1643.     (This)->lpVtbl -> Release(This)
  1644.  
  1645.  
  1646. #define IWMInputMediaProps_GetType(This,pguidType)    \
  1647.     (This)->lpVtbl -> GetType(This,pguidType)
  1648.  
  1649. #define IWMInputMediaProps_GetMediaType(This,pType,pcbType)    \
  1650.     (This)->lpVtbl -> GetMediaType(This,pType,pcbType)
  1651.  
  1652. #define IWMInputMediaProps_SetMediaType(This,pType)    \
  1653.     (This)->lpVtbl -> SetMediaType(This,pType)
  1654.  
  1655.  
  1656. #define IWMInputMediaProps_GetConnectionName(This,pwszName,pcchName)    \
  1657.     (This)->lpVtbl -> GetConnectionName(This,pwszName,pcchName)
  1658.  
  1659. #define IWMInputMediaProps_GetGroupName(This,pwszName,pcchName)    \
  1660.     (This)->lpVtbl -> GetGroupName(This,pwszName,pcchName)
  1661.  
  1662. #endif /* COBJMACROS */
  1663.  
  1664.  
  1665. #endif     /* C style interface */
  1666.  
  1667.  
  1668.  
  1669. HRESULT STDMETHODCALLTYPE IWMInputMediaProps_GetConnectionName_Proxy( 
  1670.     IWMInputMediaProps __RPC_FAR * This,
  1671.     /* [out] */ WCHAR __RPC_FAR *pwszName,
  1672.     /* [out][in] */ WORD __RPC_FAR *pcchName);
  1673.  
  1674.  
  1675. void __RPC_STUB IWMInputMediaProps_GetConnectionName_Stub(
  1676.     IRpcStubBuffer *This,
  1677.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1678.     PRPC_MESSAGE _pRpcMessage,
  1679.     DWORD *_pdwStubPhase);
  1680.  
  1681.  
  1682. HRESULT STDMETHODCALLTYPE IWMInputMediaProps_GetGroupName_Proxy( 
  1683.     IWMInputMediaProps __RPC_FAR * This,
  1684.     /* [out] */ WCHAR __RPC_FAR *pwszName,
  1685.     /* [out][in] */ WORD __RPC_FAR *pcchName);
  1686.  
  1687.  
  1688. void __RPC_STUB IWMInputMediaProps_GetGroupName_Stub(
  1689.     IRpcStubBuffer *This,
  1690.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1691.     PRPC_MESSAGE _pRpcMessage,
  1692.     DWORD *_pdwStubPhase);
  1693.  
  1694.  
  1695.  
  1696. #endif     /* __IWMInputMediaProps_INTERFACE_DEFINED__ */
  1697.  
  1698.  
  1699. #ifndef __IWMReader_INTERFACE_DEFINED__
  1700. #define __IWMReader_INTERFACE_DEFINED__
  1701.  
  1702. /* interface IWMReader */
  1703. /* [local][unique][helpstring][uuid][object] */ 
  1704.  
  1705.  
  1706. EXTERN_C const IID IID_IWMReader;
  1707.  
  1708. #if defined(__cplusplus) && !defined(CINTERFACE)
  1709.     
  1710.     MIDL_INTERFACE("96406BD6-2B2B-11d3-B36B-00C04F6108FF")
  1711.     IWMReader : public IUnknown
  1712.     {
  1713.     public:
  1714.         virtual HRESULT STDMETHODCALLTYPE Open( 
  1715.             /* [in] */ const WCHAR __RPC_FAR *pwszURL,
  1716.             /* [in] */ IWMReaderCallback __RPC_FAR *pCallback,
  1717.             /* [in] */ void __RPC_FAR *pvContext) = 0;
  1718.         
  1719.         virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
  1720.         
  1721.         virtual HRESULT STDMETHODCALLTYPE GetOutputCount( 
  1722.             /* [out] */ DWORD __RPC_FAR *pcOutputs) = 0;
  1723.         
  1724.         virtual HRESULT STDMETHODCALLTYPE GetOutputProps( 
  1725.             /* [in] */ DWORD dwOutputNum,
  1726.             /* [out] */ IWMOutputMediaProps __RPC_FAR *__RPC_FAR *ppOutput) = 0;
  1727.         
  1728.         virtual HRESULT STDMETHODCALLTYPE SetOutputProps( 
  1729.             /* [in] */ DWORD dwOutputNum,
  1730.             /* [in] */ IWMOutputMediaProps __RPC_FAR *pOutput) = 0;
  1731.         
  1732.         virtual HRESULT STDMETHODCALLTYPE GetOutputFormatCount( 
  1733.             /* [in] */ DWORD dwOutputNumber,
  1734.             /* [out] */ DWORD __RPC_FAR *pcFormats) = 0;
  1735.         
  1736.         virtual HRESULT STDMETHODCALLTYPE GetOutputFormat( 
  1737.             /* [in] */ DWORD dwOutputNumber,
  1738.             /* [in] */ DWORD dwFormatNumber,
  1739.             /* [out] */ IWMOutputMediaProps __RPC_FAR *__RPC_FAR *ppProps) = 0;
  1740.         
  1741.         virtual HRESULT STDMETHODCALLTYPE Start( 
  1742.             /* [in] */ QWORD cnsStart,
  1743.             /* [in] */ QWORD cnsDuration,
  1744.             /* [in] */ float fRate,
  1745.             /* [in] */ void __RPC_FAR *pvContext) = 0;
  1746.         
  1747.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  1748.         
  1749.         virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  1750.         
  1751.         virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
  1752.         
  1753.     };
  1754.     
  1755. #else     /* C style interface */
  1756.  
  1757.     typedef struct IWMReaderVtbl
  1758.     {
  1759.         BEGIN_INTERFACE
  1760.         
  1761.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1762.             IWMReader __RPC_FAR * This,
  1763.             /* [in] */ REFIID riid,
  1764.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1765.         
  1766.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1767.             IWMReader __RPC_FAR * This);
  1768.         
  1769.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1770.             IWMReader __RPC_FAR * This);
  1771.         
  1772.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
  1773.             IWMReader __RPC_FAR * This,
  1774.             /* [in] */ const WCHAR __RPC_FAR *pwszURL,
  1775.             /* [in] */ IWMReaderCallback __RPC_FAR *pCallback,
  1776.             /* [in] */ void __RPC_FAR *pvContext);
  1777.         
  1778.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )( 
  1779.             IWMReader __RPC_FAR * This);
  1780.         
  1781.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOutputCount )( 
  1782.             IWMReader __RPC_FAR * This,
  1783.             /* [out] */ DWORD __RPC_FAR *pcOutputs);
  1784.         
  1785.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOutputProps )( 
  1786.             IWMReader __RPC_FAR * This,
  1787.             /* [in] */ DWORD dwOutputNum,
  1788.             /* [out] */ IWMOutputMediaProps __RPC_FAR *__RPC_FAR *ppOutput);
  1789.         
  1790.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOutputProps )( 
  1791.             IWMReader __RPC_FAR * This,
  1792.             /* [in] */ DWORD dwOutputNum,
  1793.             /* [in] */ IWMOutputMediaProps __RPC_FAR *pOutput);
  1794.         
  1795.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOutputFormatCount )( 
  1796.             IWMReader __RPC_FAR * This,
  1797.             /* [in] */ DWORD dwOutputNumber,
  1798.             /* [out] */ DWORD __RPC_FAR *pcFormats);
  1799.         
  1800.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOutputFormat )( 
  1801.             IWMReader __RPC_FAR * This,
  1802.             /* [in] */ DWORD dwOutputNumber,
  1803.             /* [in] */ DWORD dwFormatNumber,
  1804.             /* [out] */ IWMOutputMediaProps __RPC_FAR *__RPC_FAR *ppProps);
  1805.         
  1806.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Start )( 
  1807.             IWMReader __RPC_FAR * This,
  1808.             /* [in] */ QWORD cnsStart,
  1809.             /* [in] */ QWORD cnsDuration,
  1810.             /* [in] */ float fRate,
  1811.             /* [in] */ void __RPC_FAR *pvContext);
  1812.         
  1813.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
  1814.             IWMReader __RPC_FAR * This);
  1815.         
  1816.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Pause )( 
  1817.             IWMReader __RPC_FAR * This);
  1818.         
  1819.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Resume )( 
  1820.             IWMReader __RPC_FAR * This);
  1821.         
  1822.         END_INTERFACE
  1823.     } IWMReaderVtbl;
  1824.  
  1825.     interface IWMReader
  1826.     {
  1827.         CONST_VTBL struct IWMReaderVtbl __RPC_FAR *lpVtbl;
  1828.     };
  1829.  
  1830.     
  1831.  
  1832. #ifdef COBJMACROS
  1833.  
  1834.  
  1835. #define IWMReader_QueryInterface(This,riid,ppvObject)    \
  1836.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1837.  
  1838. #define IWMReader_AddRef(This)    \
  1839.     (This)->lpVtbl -> AddRef(This)
  1840.  
  1841. #define IWMReader_Release(This)    \
  1842.     (This)->lpVtbl -> Release(This)
  1843.  
  1844.  
  1845. #define IWMReader_Open(This,pwszURL,pCallback,pvContext)    \
  1846.     (This)->lpVtbl -> Open(This,pwszURL,pCallback,pvContext)
  1847.  
  1848. #define IWMReader_Close(This)    \
  1849.     (This)->lpVtbl -> Close(This)
  1850.  
  1851. #define IWMReader_GetOutputCount(This,pcOutputs)    \
  1852.     (This)->lpVtbl -> GetOutputCount(This,pcOutputs)
  1853.  
  1854. #define IWMReader_GetOutputProps(This,dwOutputNum,ppOutput)    \
  1855.     (This)->lpVtbl -> GetOutputProps(This,dwOutputNum,ppOutput)
  1856.  
  1857. #define IWMReader_SetOutputProps(This,dwOutputNum,pOutput)    \
  1858.     (This)->lpVtbl -> SetOutputProps(This,dwOutputNum,pOutput)
  1859.  
  1860. #define IWMReader_GetOutputFormatCount(This,dwOutputNumber,pcFormats)    \
  1861.     (This)->lpVtbl -> GetOutputFormatCount(This,dwOutputNumber,pcFormats)
  1862.  
  1863. #define IWMReader_GetOutputFormat(This,dwOutputNumber,dwFormatNumber,ppProps)    \
  1864.     (This)->lpVtbl -> GetOutputFormat(This,dwOutputNumber,dwFormatNumber,ppProps)
  1865.  
  1866. #define IWMReader_Start(This,cnsStart,cnsDuration,fRate,pvContext)    \
  1867.     (This)->lpVtbl -> Start(This,cnsStart,cnsDuration,fRate,pvContext)
  1868.  
  1869. #define IWMReader_Stop(This)    \
  1870.     (This)->lpVtbl -> Stop(This)
  1871.  
  1872. #define IWMReader_Pause(This)    \
  1873.     (This)->lpVtbl -> Pause(This)
  1874.  
  1875. #define IWMReader_Resume(This)    \
  1876.     (This)->lpVtbl -> Resume(This)
  1877.  
  1878. #endif /* COBJMACROS */
  1879.  
  1880.  
  1881. #endif     /* C style interface */
  1882.  
  1883.  
  1884.  
  1885. HRESULT STDMETHODCALLTYPE IWMReader_Open_Proxy( 
  1886.     IWMReader __RPC_FAR * This,
  1887.     /* [in] */ const WCHAR __RPC_FAR *pwszURL,
  1888.     /* [in] */ IWMReaderCallback __RPC_FAR *pCallback,
  1889.     /* [in] */ void __RPC_FAR *pvContext);
  1890.  
  1891.  
  1892. void __RPC_STUB IWMReader_Open_Stub(
  1893.     IRpcStubBuffer *This,
  1894.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1895.     PRPC_MESSAGE _pRpcMessage,
  1896.     DWORD *_pdwStubPhase);
  1897.  
  1898.  
  1899. HRESULT STDMETHODCALLTYPE IWMReader_Close_Proxy( 
  1900.     IWMReader __RPC_FAR * This);
  1901.  
  1902.  
  1903. void __RPC_STUB IWMReader_Close_Stub(
  1904.     IRpcStubBuffer *This,
  1905.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1906.     PRPC_MESSAGE _pRpcMessage,
  1907.     DWORD *_pdwStubPhase);
  1908.  
  1909.  
  1910. HRESULT STDMETHODCALLTYPE IWMReader_GetOutputCount_Proxy( 
  1911.     IWMReader __RPC_FAR * This,
  1912.     /* [out] */ DWORD __RPC_FAR *pcOutputs);
  1913.  
  1914.  
  1915. void __RPC_STUB IWMReader_GetOutputCount_Stub(
  1916.     IRpcStubBuffer *This,
  1917.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1918.     PRPC_MESSAGE _pRpcMessage,
  1919.     DWORD *_pdwStubPhase);
  1920.  
  1921.  
  1922. HRESULT STDMETHODCALLTYPE IWMReader_GetOutputProps_Proxy( 
  1923.     IWMReader __RPC_FAR * This,
  1924.     /* [in] */ DWORD dwOutputNum,
  1925.     /* [out] */ IWMOutputMediaProps __RPC_FAR *__RPC_FAR *ppOutput);
  1926.  
  1927.  
  1928. void __RPC_STUB IWMReader_GetOutputProps_Stub(
  1929.     IRpcStubBuffer *This,
  1930.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1931.     PRPC_MESSAGE _pRpcMessage,
  1932.     DWORD *_pdwStubPhase);
  1933.  
  1934.  
  1935. HRESULT STDMETHODCALLTYPE IWMReader_SetOutputProps_Proxy( 
  1936.     IWMReader __RPC_FAR * This,
  1937.     /* [in] */ DWORD dwOutputNum,
  1938.     /* [in] */ IWMOutputMediaProps __RPC_FAR *pOutput);
  1939.  
  1940.  
  1941. void __RPC_STUB IWMReader_SetOutputProps_Stub(
  1942.     IRpcStubBuffer *This,
  1943.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1944.     PRPC_MESSAGE _pRpcMessage,
  1945.     DWORD *_pdwStubPhase);
  1946.  
  1947.  
  1948. HRESULT STDMETHODCALLTYPE IWMReader_GetOutputFormatCount_Proxy( 
  1949.     IWMReader __RPC_FAR * This,
  1950.     /* [in] */ DWORD dwOutputNumber,
  1951.     /* [out] */ DWORD __RPC_FAR *pcFormats);
  1952.  
  1953.  
  1954. void __RPC_STUB IWMReader_GetOutputFormatCount_Stub(
  1955.     IRpcStubBuffer *This,
  1956.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1957.     PRPC_MESSAGE _pRpcMessage,
  1958.     DWORD *_pdwStubPhase);
  1959.  
  1960.  
  1961. HRESULT STDMETHODCALLTYPE IWMReader_GetOutputFormat_Proxy( 
  1962.     IWMReader __RPC_FAR * This,
  1963.     /* [in] */ DWORD dwOutputNumber,
  1964.     /* [in] */ DWORD dwFormatNumber,
  1965.     /* [out] */ IWMOutputMediaProps __RPC_FAR *__RPC_FAR *ppProps);
  1966.  
  1967.  
  1968. void __RPC_STUB IWMReader_GetOutputFormat_Stub(
  1969.     IRpcStubBuffer *This,
  1970.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1971.     PRPC_MESSAGE _pRpcMessage,
  1972.     DWORD *_pdwStubPhase);
  1973.  
  1974.  
  1975. HRESULT STDMETHODCALLTYPE IWMReader_Start_Proxy( 
  1976.     IWMReader __RPC_FAR * This,
  1977.     /* [in] */ QWORD cnsStart,
  1978.     /* [in] */ QWORD cnsDuration,
  1979.     /* [in] */ float fRate,
  1980.     /* [in] */ void __RPC_FAR *pvContext);
  1981.  
  1982.  
  1983. void __RPC_STUB IWMReader_Start_Stub(
  1984.     IRpcStubBuffer *This,
  1985.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1986.     PRPC_MESSAGE _pRpcMessage,
  1987.     DWORD *_pdwStubPhase);
  1988.  
  1989.  
  1990. HRESULT STDMETHODCALLTYPE IWMReader_Stop_Proxy( 
  1991.     IWMReader __RPC_FAR * This);
  1992.  
  1993.  
  1994. void __RPC_STUB IWMReader_Stop_Stub(
  1995.     IRpcStubBuffer *This,
  1996.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1997.     PRPC_MESSAGE _pRpcMessage,
  1998.     DWORD *_pdwStubPhase);
  1999.  
  2000.  
  2001. HRESULT STDMETHODCALLTYPE IWMReader_Pause_Proxy( 
  2002.     IWMReader __RPC_FAR * This);
  2003.  
  2004.  
  2005. void __RPC_STUB IWMReader_Pause_Stub(
  2006.     IRpcStubBuffer *This,
  2007.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2008.     PRPC_MESSAGE _pRpcMessage,
  2009.     DWORD *_pdwStubPhase);
  2010.  
  2011.  
  2012. HRESULT STDMETHODCALLTYPE IWMReader_Resume_Proxy( 
  2013.     IWMReader __RPC_FAR * This);
  2014.  
  2015.  
  2016. void __RPC_STUB IWMReader_Resume_Stub(
  2017.     IRpcStubBuffer *This,
  2018.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2019.     PRPC_MESSAGE _pRpcMessage,
  2020.     DWORD *_pdwStubPhase);
  2021.  
  2022.  
  2023.  
  2024. #endif     /* __IWMReader_INTERFACE_DEFINED__ */
  2025.  
  2026.  
  2027. #ifndef __IWMOutputMediaProps_INTERFACE_DEFINED__
  2028. #define __IWMOutputMediaProps_INTERFACE_DEFINED__
  2029.  
  2030. /* interface IWMOutputMediaProps */
  2031. /* [local][unique][helpstring][uuid][object] */ 
  2032.  
  2033.  
  2034. EXTERN_C const IID IID_IWMOutputMediaProps;
  2035.  
  2036. #if defined(__cplusplus) && !defined(CINTERFACE)
  2037.     
  2038.     MIDL_INTERFACE("96406BD7-2B2B-11d3-B36B-00C04F6108FF")
  2039.     IWMOutputMediaProps : public IWMMediaProps
  2040.     {
  2041.     public:
  2042.         virtual HRESULT STDMETHODCALLTYPE GetStreamGroupName( 
  2043.             /* [out] */ WCHAR __RPC_FAR *pwszName,
  2044.             /* [out][in] */ WORD __RPC_FAR *pcchName) = 0;
  2045.         
  2046.         virtual HRESULT STDMETHODCALLTYPE GetConnectionName( 
  2047.             /* [out] */ WCHAR __RPC_FAR *pwszName,
  2048.             /* [out][in] */ WORD __RPC_FAR *pcchName) = 0;
  2049.         
  2050.     };
  2051.     
  2052. #else     /* C style interface */
  2053.  
  2054.     typedef struct IWMOutputMediaPropsVtbl
  2055.     {
  2056.         BEGIN_INTERFACE
  2057.         
  2058.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2059.             IWMOutputMediaProps __RPC_FAR * This,
  2060.             /* [in] */ REFIID riid,
  2061.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2062.         
  2063.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2064.             IWMOutputMediaProps __RPC_FAR * This);
  2065.         
  2066.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2067.             IWMOutputMediaProps __RPC_FAR * This);
  2068.         
  2069.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetType )( 
  2070.             IWMOutputMediaProps __RPC_FAR * This,
  2071.             /* [out] */ GUID __RPC_FAR *pguidType);
  2072.         
  2073.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMediaType )( 
  2074.             IWMOutputMediaProps __RPC_FAR * This,
  2075.             /* [out] */ WM_MEDIA_TYPE __RPC_FAR *pType,
  2076.             /* [out][in] */ DWORD __RPC_FAR *pcbType);
  2077.         
  2078.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMediaType )( 
  2079.             IWMOutputMediaProps __RPC_FAR * This,
  2080.             /* [in] */ WM_MEDIA_TYPE __RPC_FAR *pType);
  2081.         
  2082.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamGroupName )( 
  2083.             IWMOutputMediaProps __RPC_FAR * This,
  2084.             /* [out] */ WCHAR __RPC_FAR *pwszName,
  2085.             /* [out][in] */ WORD __RPC_FAR *pcchName);
  2086.         
  2087.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetConnectionName )( 
  2088.             IWMOutputMediaProps __RPC_FAR * This,
  2089.             /* [out] */ WCHAR __RPC_FAR *pwszName,
  2090.             /* [out][in] */ WORD __RPC_FAR *pcchName);
  2091.         
  2092.         END_INTERFACE
  2093.     } IWMOutputMediaPropsVtbl;
  2094.  
  2095.     interface IWMOutputMediaProps
  2096.     {
  2097.         CONST_VTBL struct IWMOutputMediaPropsVtbl __RPC_FAR *lpVtbl;
  2098.     };
  2099.  
  2100.     
  2101.  
  2102. #ifdef COBJMACROS
  2103.  
  2104.  
  2105. #define IWMOutputMediaProps_QueryInterface(This,riid,ppvObject)    \
  2106.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2107.  
  2108. #define IWMOutputMediaProps_AddRef(This)    \
  2109.     (This)->lpVtbl -> AddRef(This)
  2110.  
  2111. #define IWMOutputMediaProps_Release(This)    \
  2112.     (This)->lpVtbl -> Release(This)
  2113.  
  2114.  
  2115. #define IWMOutputMediaProps_GetType(This,pguidType)    \
  2116.     (This)->lpVtbl -> GetType(This,pguidType)
  2117.  
  2118. #define IWMOutputMediaProps_GetMediaType(This,pType,pcbType)    \
  2119.     (This)->lpVtbl -> GetMediaType(This,pType,pcbType)
  2120.  
  2121. #define IWMOutputMediaProps_SetMediaType(This,pType)    \
  2122.     (This)->lpVtbl -> SetMediaType(This,pType)
  2123.  
  2124.  
  2125. #define IWMOutputMediaProps_GetStreamGroupName(This,pwszName,pcchName)    \
  2126.     (This)->lpVtbl -> GetStreamGroupName(This,pwszName,pcchName)
  2127.  
  2128. #define IWMOutputMediaProps_GetConnectionName(This,pwszName,pcchName)    \
  2129.     (This)->lpVtbl -> GetConnectionName(This,pwszName,pcchName)
  2130.  
  2131. #endif /* COBJMACROS */
  2132.  
  2133.  
  2134. #endif     /* C style interface */
  2135.  
  2136.  
  2137.  
  2138. HRESULT STDMETHODCALLTYPE IWMOutputMediaProps_GetStreamGroupName_Proxy( 
  2139.     IWMOutputMediaProps __RPC_FAR * This,
  2140.     /* [out] */ WCHAR __RPC_FAR *pwszName,
  2141.     /* [out][in] */ WORD __RPC_FAR *pcchName);
  2142.  
  2143.  
  2144. void __RPC_STUB IWMOutputMediaProps_GetStreamGroupName_Stub(
  2145.     IRpcStubBuffer *This,
  2146.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2147.     PRPC_MESSAGE _pRpcMessage,
  2148.     DWORD *_pdwStubPhase);
  2149.  
  2150.  
  2151. HRESULT STDMETHODCALLTYPE IWMOutputMediaProps_GetConnectionName_Proxy( 
  2152.     IWMOutputMediaProps __RPC_FAR * This,
  2153.     /* [out] */ WCHAR __RPC_FAR *pwszName,
  2154.     /* [out][in] */ WORD __RPC_FAR *pcchName);
  2155.  
  2156.  
  2157. void __RPC_STUB IWMOutputMediaProps_GetConnectionName_Stub(
  2158.     IRpcStubBuffer *This,
  2159.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2160.     PRPC_MESSAGE _pRpcMessage,
  2161.     DWORD *_pdwStubPhase);
  2162.  
  2163.  
  2164.  
  2165. #endif     /* __IWMOutputMediaProps_INTERFACE_DEFINED__ */
  2166.  
  2167.  
  2168. #ifndef __IWMStatusCallback_INTERFACE_DEFINED__
  2169. #define __IWMStatusCallback_INTERFACE_DEFINED__
  2170.  
  2171. /* interface IWMStatusCallback */
  2172. /* [local][unique][helpstring][uuid][object] */ 
  2173.  
  2174.  
  2175. EXTERN_C const IID IID_IWMStatusCallback;
  2176.  
  2177. #if defined(__cplusplus) && !defined(CINTERFACE)
  2178.     
  2179.     MIDL_INTERFACE("6d7cdc70-9888-11d3-8edc-00c04f6109cf")
  2180.     IWMStatusCallback : public IUnknown
  2181.     {
  2182.     public:
  2183.         virtual HRESULT STDMETHODCALLTYPE OnStatus( 
  2184.             /* [in] */ WMT_STATUS Status,
  2185.             /* [in] */ HRESULT hr,
  2186.             /* [in] */ WMT_ATTR_DATATYPE dwType,
  2187.             /* [in] */ BYTE __RPC_FAR *pValue,
  2188.             /* [in] */ void __RPC_FAR *pvContext) = 0;
  2189.         
  2190.     };
  2191.     
  2192. #else     /* C style interface */
  2193.  
  2194.     typedef struct IWMStatusCallbackVtbl
  2195.     {
  2196.         BEGIN_INTERFACE
  2197.         
  2198.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2199.             IWMStatusCallback __RPC_FAR * This,
  2200.             /* [in] */ REFIID riid,
  2201.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2202.         
  2203.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2204.             IWMStatusCallback __RPC_FAR * This);
  2205.         
  2206.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2207.             IWMStatusCallback __RPC_FAR * This);
  2208.         
  2209.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnStatus )( 
  2210.             IWMStatusCallback __RPC_FAR * This,
  2211.             /* [in] */ WMT_STATUS Status,
  2212.             /* [in] */ HRESULT hr,
  2213.             /* [in] */ WMT_ATTR_DATATYPE dwType,
  2214.             /* [in] */ BYTE __RPC_FAR *pValue,
  2215.             /* [in] */ void __RPC_FAR *pvContext);
  2216.         
  2217.         END_INTERFACE
  2218.     } IWMStatusCallbackVtbl;
  2219.  
  2220.     interface IWMStatusCallback
  2221.     {
  2222.         CONST_VTBL struct IWMStatusCallbackVtbl __RPC_FAR *lpVtbl;
  2223.     };
  2224.  
  2225.     
  2226.  
  2227. #ifdef COBJMACROS
  2228.  
  2229.  
  2230. #define IWMStatusCallback_QueryInterface(This,riid,ppvObject)    \
  2231.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2232.  
  2233. #define IWMStatusCallback_AddRef(This)    \
  2234.     (This)->lpVtbl -> AddRef(This)
  2235.  
  2236. #define IWMStatusCallback_Release(This)    \
  2237.     (This)->lpVtbl -> Release(This)
  2238.  
  2239.  
  2240. #define IWMStatusCallback_OnStatus(This,Status,hr,dwType,pValue,pvContext)    \
  2241.     (This)->lpVtbl -> OnStatus(This,Status,hr,dwType,pValue,pvContext)
  2242.  
  2243. #endif /* COBJMACROS */
  2244.  
  2245.  
  2246. #endif     /* C style interface */
  2247.  
  2248.  
  2249.  
  2250. HRESULT STDMETHODCALLTYPE IWMStatusCallback_OnStatus_Proxy( 
  2251.     IWMStatusCallback __RPC_FAR * This,
  2252.     /* [in] */ WMT_STATUS Status,
  2253.     /* [in] */ HRESULT hr,
  2254.     /* [in] */ WMT_ATTR_DATATYPE dwType,
  2255.     /* [in] */ BYTE __RPC_FAR *pValue,
  2256.     /* [in] */ void __RPC_FAR *pvContext);
  2257.  
  2258.  
  2259. void __RPC_STUB IWMStatusCallback_OnStatus_Stub(
  2260.     IRpcStubBuffer *This,
  2261.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2262.     PRPC_MESSAGE _pRpcMessage,
  2263.     DWORD *_pdwStubPhase);
  2264.  
  2265.  
  2266.  
  2267. #endif     /* __IWMStatusCallback_INTERFACE_DEFINED__ */
  2268.  
  2269.  
  2270. #ifndef __IWMReaderCallback_INTERFACE_DEFINED__
  2271. #define __IWMReaderCallback_INTERFACE_DEFINED__
  2272.  
  2273. /* interface IWMReaderCallback */
  2274. /* [local][unique][helpstring][uuid][object] */ 
  2275.  
  2276.  
  2277. EXTERN_C const IID IID_IWMReaderCallback;
  2278.  
  2279. #if defined(__cplusplus) && !defined(CINTERFACE)
  2280.     
  2281.     MIDL_INTERFACE("96406BD8-2B2B-11d3-B36B-00C04F6108FF")
  2282.     IWMReaderCallback : public IWMStatusCallback
  2283.     {
  2284.     public:
  2285.         virtual HRESULT STDMETHODCALLTYPE OnSample( 
  2286.             /* [in] */ DWORD dwOutputNum,
  2287.             /* [in] */ QWORD cnsSampleTime,
  2288.             /* [in] */ QWORD cnsSampleDuration,
  2289.             /* [in] */ DWORD dwFlags,
  2290.             /* [in] */ INSSBuffer __RPC_FAR *pSample,
  2291.             /* [in] */ void __RPC_FAR *pvContext) = 0;
  2292.         
  2293.     };
  2294.     
  2295. #else     /* C style interface */
  2296.  
  2297.     typedef struct IWMReaderCallbackVtbl
  2298.     {
  2299.         BEGIN_INTERFACE
  2300.         
  2301.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2302.             IWMReaderCallback __RPC_FAR * This,
  2303.             /* [in] */ REFIID riid,
  2304.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2305.         
  2306.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2307.             IWMReaderCallback __RPC_FAR * This);
  2308.         
  2309.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2310.             IWMReaderCallback __RPC_FAR * This);
  2311.         
  2312.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnStatus )( 
  2313.             IWMReaderCallback __RPC_FAR * This,
  2314.             /* [in] */ WMT_STATUS Status,
  2315.             /* [in] */ HRESULT hr,
  2316.             /* [in] */ WMT_ATTR_DATATYPE dwType,
  2317.             /* [in] */ BYTE __RPC_FAR *pValue,
  2318.             /* [in] */ void __RPC_FAR *pvContext);
  2319.         
  2320.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnSample )( 
  2321.             IWMReaderCallback __RPC_FAR * This,
  2322.             /* [in] */ DWORD dwOutputNum,
  2323.             /* [in] */ QWORD cnsSampleTime,
  2324.             /* [in] */ QWORD cnsSampleDuration,
  2325.             /* [in] */ DWORD dwFlags,
  2326.             /* [in] */ INSSBuffer __RPC_FAR *pSample,
  2327.             /* [in] */ void __RPC_FAR *pvContext);
  2328.         
  2329.         END_INTERFACE
  2330.     } IWMReaderCallbackVtbl;
  2331.  
  2332.     interface IWMReaderCallback
  2333.     {
  2334.         CONST_VTBL struct IWMReaderCallbackVtbl __RPC_FAR *lpVtbl;
  2335.     };
  2336.  
  2337.     
  2338.  
  2339. #ifdef COBJMACROS
  2340.  
  2341.  
  2342. #define IWMReaderCallback_QueryInterface(This,riid,ppvObject)    \
  2343.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2344.  
  2345. #define IWMReaderCallback_AddRef(This)    \
  2346.     (This)->lpVtbl -> AddRef(This)
  2347.  
  2348. #define IWMReaderCallback_Release(This)    \
  2349.     (This)->lpVtbl -> Release(This)
  2350.  
  2351.  
  2352. #define IWMReaderCallback_OnStatus(This,Status,hr,dwType,pValue,pvContext)    \
  2353.     (This)->lpVtbl -> OnStatus(This,Status,hr,dwType,pValue,pvContext)
  2354.  
  2355.  
  2356. #define IWMReaderCallback_OnSample(This,dwOutputNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext)    \
  2357.     (This)->lpVtbl -> OnSample(This,dwOutputNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext)
  2358.  
  2359. #endif /* COBJMACROS */
  2360.  
  2361.  
  2362. #endif     /* C style interface */
  2363.  
  2364.  
  2365.  
  2366. HRESULT STDMETHODCALLTYPE IWMReaderCallback_OnSample_Proxy( 
  2367.     IWMReaderCallback __RPC_FAR * This,
  2368.     /* [in] */ DWORD dwOutputNum,
  2369.     /* [in] */ QWORD cnsSampleTime,
  2370.     /* [in] */ QWORD cnsSampleDuration,
  2371.     /* [in] */ DWORD dwFlags,
  2372.     /* [in] */ INSSBuffer __RPC_FAR *pSample,
  2373.     /* [in] */ void __RPC_FAR *pvContext);
  2374.  
  2375.  
  2376. void __RPC_STUB IWMReaderCallback_OnSample_Stub(
  2377.     IRpcStubBuffer *This,
  2378.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2379.     PRPC_MESSAGE _pRpcMessage,
  2380.     DWORD *_pdwStubPhase);
  2381.  
  2382.  
  2383.  
  2384. #endif     /* __IWMReaderCallback_INTERFACE_DEFINED__ */
  2385.  
  2386.  
  2387. #ifndef __IWMCredentialCallback_INTERFACE_DEFINED__
  2388. #define __IWMCredentialCallback_INTERFACE_DEFINED__
  2389.  
  2390. /* interface IWMCredentialCallback */
  2391. /* [local][unique][helpstring][uuid][object] */ 
  2392.  
  2393.  
  2394. EXTERN_C const IID IID_IWMCredentialCallback;
  2395.  
  2396. #if defined(__cplusplus) && !defined(CINTERFACE)
  2397.     
  2398.     MIDL_INTERFACE("342e0eb7-e651-450c-975b-2ace2c90c48e")
  2399.     IWMCredentialCallback : public IUnknown
  2400.     {
  2401.     public:
  2402.         virtual HRESULT STDMETHODCALLTYPE AcquireCredentials( 
  2403.             /* [in] */ WCHAR __RPC_FAR *pwszRealm,
  2404.             /* [in] */ WCHAR __RPC_FAR *pwszSite,
  2405.             /* [size_is][out][in] */ WCHAR __RPC_FAR *pwszUser,
  2406.             /* [in] */ DWORD cchUser,
  2407.             /* [size_is][out][in] */ WCHAR __RPC_FAR *pwszPassword,
  2408.             /* [in] */ DWORD cchPassword,
  2409.             /* [in] */ HRESULT hrStatus,
  2410.             /* [out][in] */ DWORD __RPC_FAR *pdwFlags) = 0;
  2411.         
  2412.     };
  2413.     
  2414. #else     /* C style interface */
  2415.  
  2416.     typedef struct IWMCredentialCallbackVtbl
  2417.     {
  2418.         BEGIN_INTERFACE
  2419.         
  2420.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2421.             IWMCredentialCallback __RPC_FAR * This,
  2422.             /* [in] */ REFIID riid,
  2423.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2424.         
  2425.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2426.             IWMCredentialCallback __RPC_FAR * This);
  2427.         
  2428.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2429.             IWMCredentialCallback __RPC_FAR * This);
  2430.         
  2431.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AcquireCredentials )( 
  2432.             IWMCredentialCallback __RPC_FAR * This,
  2433.             /* [in] */ WCHAR __RPC_FAR *pwszRealm,
  2434.             /* [in] */ WCHAR __RPC_FAR *pwszSite,
  2435.             /* [size_is][out][in] */ WCHAR __RPC_FAR *pwszUser,
  2436.             /* [in] */ DWORD cchUser,
  2437.             /* [size_is][out][in] */ WCHAR __RPC_FAR *pwszPassword,
  2438.             /* [in] */ DWORD cchPassword,
  2439.             /* [in] */ HRESULT hrStatus,
  2440.             /* [out][in] */ DWORD __RPC_FAR *pdwFlags);
  2441.         
  2442.         END_INTERFACE
  2443.     } IWMCredentialCallbackVtbl;
  2444.  
  2445.     interface IWMCredentialCallback
  2446.     {
  2447.         CONST_VTBL struct IWMCredentialCallbackVtbl __RPC_FAR *lpVtbl;
  2448.     };
  2449.  
  2450.     
  2451.  
  2452. #ifdef COBJMACROS
  2453.  
  2454.  
  2455. #define IWMCredentialCallback_QueryInterface(This,riid,ppvObject)    \
  2456.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2457.  
  2458. #define IWMCredentialCallback_AddRef(This)    \
  2459.     (This)->lpVtbl -> AddRef(This)
  2460.  
  2461. #define IWMCredentialCallback_Release(This)    \
  2462.     (This)->lpVtbl -> Release(This)
  2463.  
  2464.  
  2465. #define IWMCredentialCallback_AcquireCredentials(This,pwszRealm,pwszSite,pwszUser,cchUser,pwszPassword,cchPassword,hrStatus,pdwFlags)    \
  2466.     (This)->lpVtbl -> AcquireCredentials(This,pwszRealm,pwszSite,pwszUser,cchUser,pwszPassword,cchPassword,hrStatus,pdwFlags)
  2467.  
  2468. #endif /* COBJMACROS */
  2469.  
  2470.  
  2471. #endif     /* C style interface */
  2472.  
  2473.  
  2474.  
  2475. HRESULT STDMETHODCALLTYPE IWMCredentialCallback_AcquireCredentials_Proxy( 
  2476.     IWMCredentialCallback __RPC_FAR * This,
  2477.     /* [in] */ WCHAR __RPC_FAR *pwszRealm,
  2478.     /* [in] */ WCHAR __RPC_FAR *pwszSite,
  2479.     /* [size_is][out][in] */ WCHAR __RPC_FAR *pwszUser,
  2480.     /* [in] */ DWORD cchUser,
  2481.     /* [size_is][out][in] */ WCHAR __RPC_FAR *pwszPassword,
  2482.     /* [in] */ DWORD cchPassword,
  2483.     /* [in] */ HRESULT hrStatus,
  2484.     /* [out][in] */ DWORD __RPC_FAR *pdwFlags);
  2485.  
  2486.  
  2487. void __RPC_STUB IWMCredentialCallback_AcquireCredentials_Stub(
  2488.     IRpcStubBuffer *This,
  2489.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2490.     PRPC_MESSAGE _pRpcMessage,
  2491.     DWORD *_pdwStubPhase);
  2492.  
  2493.  
  2494.  
  2495. #endif     /* __IWMCredentialCallback_INTERFACE_DEFINED__ */
  2496.  
  2497.  
  2498. #ifndef __IWMMetadataEditor_INTERFACE_DEFINED__
  2499. #define __IWMMetadataEditor_INTERFACE_DEFINED__
  2500.  
  2501. /* interface IWMMetadataEditor */
  2502. /* [local][unique][helpstring][uuid][object] */ 
  2503.  
  2504.  
  2505. EXTERN_C const IID IID_IWMMetadataEditor;
  2506.  
  2507. #if defined(__cplusplus) && !defined(CINTERFACE)
  2508.     
  2509.     MIDL_INTERFACE("96406BD9-2B2B-11d3-B36B-00C04F6108FF")
  2510.     IWMMetadataEditor : public IUnknown
  2511.     {
  2512.     public:
  2513.         virtual HRESULT STDMETHODCALLTYPE Open( 
  2514.             /* [in] */ const WCHAR __RPC_FAR *pwszFilename) = 0;
  2515.         
  2516.         virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
  2517.         
  2518.         virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0;
  2519.         
  2520.     };
  2521.     
  2522. #else     /* C style interface */
  2523.  
  2524.     typedef struct IWMMetadataEditorVtbl
  2525.     {
  2526.         BEGIN_INTERFACE
  2527.         
  2528.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2529.             IWMMetadataEditor __RPC_FAR * This,
  2530.             /* [in] */ REFIID riid,
  2531.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2532.         
  2533.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2534.             IWMMetadataEditor __RPC_FAR * This);
  2535.         
  2536.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2537.             IWMMetadataEditor __RPC_FAR * This);
  2538.         
  2539.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
  2540.             IWMMetadataEditor __RPC_FAR * This,
  2541.             /* [in] */ const WCHAR __RPC_FAR *pwszFilename);
  2542.         
  2543.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )( 
  2544.             IWMMetadataEditor __RPC_FAR * This);
  2545.         
  2546.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Flush )( 
  2547.             IWMMetadataEditor __RPC_FAR * This);
  2548.         
  2549.         END_INTERFACE
  2550.     } IWMMetadataEditorVtbl;
  2551.  
  2552.     interface IWMMetadataEditor
  2553.     {
  2554.         CONST_VTBL struct IWMMetadataEditorVtbl __RPC_FAR *lpVtbl;
  2555.     };
  2556.  
  2557.     
  2558.  
  2559. #ifdef COBJMACROS
  2560.  
  2561.  
  2562. #define IWMMetadataEditor_QueryInterface(This,riid,ppvObject)    \
  2563.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2564.  
  2565. #define IWMMetadataEditor_AddRef(This)    \
  2566.     (This)->lpVtbl -> AddRef(This)
  2567.  
  2568. #define IWMMetadataEditor_Release(This)    \
  2569.     (This)->lpVtbl -> Release(This)
  2570.  
  2571.  
  2572. #define IWMMetadataEditor_Open(This,pwszFilename)    \
  2573.     (This)->lpVtbl -> Open(This,pwszFilename)
  2574.  
  2575. #define IWMMetadataEditor_Close(This)    \
  2576.     (This)->lpVtbl -> Close(This)
  2577.  
  2578. #define IWMMetadataEditor_Flush(This)    \
  2579.     (This)->lpVtbl -> Flush(This)
  2580.  
  2581. #endif /* COBJMACROS */
  2582.  
  2583.  
  2584. #endif     /* C style interface */
  2585.  
  2586.  
  2587.  
  2588. HRESULT STDMETHODCALLTYPE IWMMetadataEditor_Open_Proxy( 
  2589.     IWMMetadataEditor __RPC_FAR * This,
  2590.     /* [in] */ const WCHAR __RPC_FAR *pwszFilename);
  2591.  
  2592.  
  2593. void __RPC_STUB IWMMetadataEditor_Open_Stub(
  2594.     IRpcStubBuffer *This,
  2595.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2596.     PRPC_MESSAGE _pRpcMessage,
  2597.     DWORD *_pdwStubPhase);
  2598.  
  2599.  
  2600. HRESULT STDMETHODCALLTYPE IWMMetadataEditor_Close_Proxy( 
  2601.     IWMMetadataEditor __RPC_FAR * This);
  2602.  
  2603.  
  2604. void __RPC_STUB IWMMetadataEditor_Close_Stub(
  2605.     IRpcStubBuffer *This,
  2606.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2607.     PRPC_MESSAGE _pRpcMessage,
  2608.     DWORD *_pdwStubPhase);
  2609.  
  2610.  
  2611. HRESULT STDMETHODCALLTYPE IWMMetadataEditor_Flush_Proxy( 
  2612.     IWMMetadataEditor __RPC_FAR * This);
  2613.  
  2614.  
  2615. void __RPC_STUB IWMMetadataEditor_Flush_Stub(
  2616.     IRpcStubBuffer *This,
  2617.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2618.     PRPC_MESSAGE _pRpcMessage,
  2619.     DWORD *_pdwStubPhase);
  2620.  
  2621.  
  2622.  
  2623. #endif     /* __IWMMetadataEditor_INTERFACE_DEFINED__ */
  2624.  
  2625.  
  2626. #ifndef __IWMHeaderInfo_INTERFACE_DEFINED__
  2627. #define __IWMHeaderInfo_INTERFACE_DEFINED__
  2628.  
  2629. /* interface IWMHeaderInfo */
  2630. /* [local][unique][helpstring][uuid][object] */ 
  2631.  
  2632.  
  2633. EXTERN_C const IID IID_IWMHeaderInfo;
  2634.  
  2635. #if defined(__cplusplus) && !defined(CINTERFACE)
  2636.     
  2637.     MIDL_INTERFACE("96406BDA-2B2B-11d3-B36B-00C04F6108FF")
  2638.     IWMHeaderInfo : public IUnknown
  2639.     {
  2640.     public:
  2641.         virtual HRESULT STDMETHODCALLTYPE GetAttributeCount( 
  2642.             /* [in] */ WORD wStreamNum,
  2643.             /* [out] */ WORD __RPC_FAR *pcAttributes) = 0;
  2644.         
  2645.         virtual HRESULT STDMETHODCALLTYPE GetAttributeByIndex( 
  2646.             /* [in] */ WORD wIndex,
  2647.             /* [out][in] */ WORD __RPC_FAR *pwStreamNum,
  2648.             /* [out] */ WCHAR __RPC_FAR *pwszName,
  2649.             /* [out][in] */ WORD __RPC_FAR *pcchNameLen,
  2650.             /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  2651.             /* [out] */ BYTE __RPC_FAR *pValue,
  2652.             /* [out][in] */ WORD __RPC_FAR *pcbLength) = 0;
  2653.         
  2654.         virtual HRESULT STDMETHODCALLTYPE GetAttributeByName( 
  2655.             /* [out][in] */ WORD __RPC_FAR *pwStreamNum,
  2656.             /* [in] */ LPCWSTR pszName,
  2657.             /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  2658.             /* [out] */ BYTE __RPC_FAR *pValue,
  2659.             /* [out][in] */ WORD __RPC_FAR *pcbLength) = 0;
  2660.         
  2661.         virtual HRESULT STDMETHODCALLTYPE SetAttribute( 
  2662.             /* [in] */ WORD wStreamNum,
  2663.             /* [in] */ LPCWSTR pszName,
  2664.             /* [in] */ WMT_ATTR_DATATYPE Type,
  2665.             /* [in] */ const BYTE __RPC_FAR *pValue,
  2666.             /* [in] */ WORD cbLength) = 0;
  2667.         
  2668.         virtual HRESULT STDMETHODCALLTYPE GetMarkerCount( 
  2669.             /* [out] */ WORD __RPC_FAR *pcMarkers) = 0;
  2670.         
  2671.         virtual HRESULT STDMETHODCALLTYPE GetMarker( 
  2672.             /* [in] */ WORD wIndex,
  2673.             /* [out] */ WCHAR __RPC_FAR *pwszMarkerName,
  2674.             /* [out][in] */ WORD __RPC_FAR *pcchMarkerNameLen,
  2675.             /* [out] */ QWORD __RPC_FAR *pcnsMarkerTime) = 0;
  2676.         
  2677.         virtual HRESULT STDMETHODCALLTYPE AddMarker( 
  2678.             /* [in] */ WCHAR __RPC_FAR *pwszMarkerName,
  2679.             /* [in] */ QWORD cnsMarkerTime) = 0;
  2680.         
  2681.         virtual HRESULT STDMETHODCALLTYPE RemoveMarker( 
  2682.             /* [in] */ WORD wIndex) = 0;
  2683.         
  2684.         virtual HRESULT STDMETHODCALLTYPE GetScriptCount( 
  2685.             /* [out] */ WORD __RPC_FAR *pcScripts) = 0;
  2686.         
  2687.         virtual HRESULT STDMETHODCALLTYPE GetScript( 
  2688.             /* [in] */ WORD wIndex,
  2689.             /* [out] */ WCHAR __RPC_FAR *pwszType,
  2690.             /* [out][in] */ WORD __RPC_FAR *pcchTypeLen,
  2691.             /* [out] */ WCHAR __RPC_FAR *pwszCommand,
  2692.             /* [out][in] */ WORD __RPC_FAR *pcchCommandLen,
  2693.             /* [out] */ QWORD __RPC_FAR *pcnsScriptTime) = 0;
  2694.         
  2695.         virtual HRESULT STDMETHODCALLTYPE AddScript( 
  2696.             /* [in] */ WCHAR __RPC_FAR *pwszType,
  2697.             /* [in] */ WCHAR __RPC_FAR *pwszCommand,
  2698.             /* [in] */ QWORD cnsScriptTime) = 0;
  2699.         
  2700.         virtual HRESULT STDMETHODCALLTYPE RemoveScript( 
  2701.             /* [in] */ WORD wIndex) = 0;
  2702.         
  2703.     };
  2704.     
  2705. #else     /* C style interface */
  2706.  
  2707.     typedef struct IWMHeaderInfoVtbl
  2708.     {
  2709.         BEGIN_INTERFACE
  2710.         
  2711.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2712.             IWMHeaderInfo __RPC_FAR * This,
  2713.             /* [in] */ REFIID riid,
  2714.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2715.         
  2716.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2717.             IWMHeaderInfo __RPC_FAR * This);
  2718.         
  2719.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2720.             IWMHeaderInfo __RPC_FAR * This);
  2721.         
  2722.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributeCount )( 
  2723.             IWMHeaderInfo __RPC_FAR * This,
  2724.             /* [in] */ WORD wStreamNum,
  2725.             /* [out] */ WORD __RPC_FAR *pcAttributes);
  2726.         
  2727.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributeByIndex )( 
  2728.             IWMHeaderInfo __RPC_FAR * This,
  2729.             /* [in] */ WORD wIndex,
  2730.             /* [out][in] */ WORD __RPC_FAR *pwStreamNum,
  2731.             /* [out] */ WCHAR __RPC_FAR *pwszName,
  2732.             /* [out][in] */ WORD __RPC_FAR *pcchNameLen,
  2733.             /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  2734.             /* [out] */ BYTE __RPC_FAR *pValue,
  2735.             /* [out][in] */ WORD __RPC_FAR *pcbLength);
  2736.         
  2737.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributeByName )( 
  2738.             IWMHeaderInfo __RPC_FAR * This,
  2739.             /* [out][in] */ WORD __RPC_FAR *pwStreamNum,
  2740.             /* [in] */ LPCWSTR pszName,
  2741.             /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  2742.             /* [out] */ BYTE __RPC_FAR *pValue,
  2743.             /* [out][in] */ WORD __RPC_FAR *pcbLength);
  2744.         
  2745.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAttribute )( 
  2746.             IWMHeaderInfo __RPC_FAR * This,
  2747.             /* [in] */ WORD wStreamNum,
  2748.             /* [in] */ LPCWSTR pszName,
  2749.             /* [in] */ WMT_ATTR_DATATYPE Type,
  2750.             /* [in] */ const BYTE __RPC_FAR *pValue,
  2751.             /* [in] */ WORD cbLength);
  2752.         
  2753.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMarkerCount )( 
  2754.             IWMHeaderInfo __RPC_FAR * This,
  2755.             /* [out] */ WORD __RPC_FAR *pcMarkers);
  2756.         
  2757.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMarker )( 
  2758.             IWMHeaderInfo __RPC_FAR * This,
  2759.             /* [in] */ WORD wIndex,
  2760.             /* [out] */ WCHAR __RPC_FAR *pwszMarkerName,
  2761.             /* [out][in] */ WORD __RPC_FAR *pcchMarkerNameLen,
  2762.             /* [out] */ QWORD __RPC_FAR *pcnsMarkerTime);
  2763.         
  2764.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddMarker )( 
  2765.             IWMHeaderInfo __RPC_FAR * This,
  2766.             /* [in] */ WCHAR __RPC_FAR *pwszMarkerName,
  2767.             /* [in] */ QWORD cnsMarkerTime);
  2768.         
  2769.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveMarker )( 
  2770.             IWMHeaderInfo __RPC_FAR * This,
  2771.             /* [in] */ WORD wIndex);
  2772.         
  2773.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetScriptCount )( 
  2774.             IWMHeaderInfo __RPC_FAR * This,
  2775.             /* [out] */ WORD __RPC_FAR *pcScripts);
  2776.         
  2777.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetScript )( 
  2778.             IWMHeaderInfo __RPC_FAR * This,
  2779.             /* [in] */ WORD wIndex,
  2780.             /* [out] */ WCHAR __RPC_FAR *pwszType,
  2781.             /* [out][in] */ WORD __RPC_FAR *pcchTypeLen,
  2782.             /* [out] */ WCHAR __RPC_FAR *pwszCommand,
  2783.             /* [out][in] */ WORD __RPC_FAR *pcchCommandLen,
  2784.             /* [out] */ QWORD __RPC_FAR *pcnsScriptTime);
  2785.         
  2786.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddScript )( 
  2787.             IWMHeaderInfo __RPC_FAR * This,
  2788.             /* [in] */ WCHAR __RPC_FAR *pwszType,
  2789.             /* [in] */ WCHAR __RPC_FAR *pwszCommand,
  2790.             /* [in] */ QWORD cnsScriptTime);
  2791.         
  2792.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveScript )( 
  2793.             IWMHeaderInfo __RPC_FAR * This,
  2794.             /* [in] */ WORD wIndex);
  2795.         
  2796.         END_INTERFACE
  2797.     } IWMHeaderInfoVtbl;
  2798.  
  2799.     interface IWMHeaderInfo
  2800.     {
  2801.         CONST_VTBL struct IWMHeaderInfoVtbl __RPC_FAR *lpVtbl;
  2802.     };
  2803.  
  2804.     
  2805.  
  2806. #ifdef COBJMACROS
  2807.  
  2808.  
  2809. #define IWMHeaderInfo_QueryInterface(This,riid,ppvObject)    \
  2810.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2811.  
  2812. #define IWMHeaderInfo_AddRef(This)    \
  2813.     (This)->lpVtbl -> AddRef(This)
  2814.  
  2815. #define IWMHeaderInfo_Release(This)    \
  2816.     (This)->lpVtbl -> Release(This)
  2817.  
  2818.  
  2819. #define IWMHeaderInfo_GetAttributeCount(This,wStreamNum,pcAttributes)    \
  2820.     (This)->lpVtbl -> GetAttributeCount(This,wStreamNum,pcAttributes)
  2821.  
  2822. #define IWMHeaderInfo_GetAttributeByIndex(This,wIndex,pwStreamNum,pwszName,pcchNameLen,pType,pValue,pcbLength)    \
  2823.     (This)->lpVtbl -> GetAttributeByIndex(This,wIndex,pwStreamNum,pwszName,pcchNameLen,pType,pValue,pcbLength)
  2824.  
  2825. #define IWMHeaderInfo_GetAttributeByName(This,pwStreamNum,pszName,pType,pValue,pcbLength)    \
  2826.     (This)->lpVtbl -> GetAttributeByName(This,pwStreamNum,pszName,pType,pValue,pcbLength)
  2827.  
  2828. #define IWMHeaderInfo_SetAttribute(This,wStreamNum,pszName,Type,pValue,cbLength)    \
  2829.     (This)->lpVtbl -> SetAttribute(This,wStreamNum,pszName,Type,pValue,cbLength)
  2830.  
  2831. #define IWMHeaderInfo_GetMarkerCount(This,pcMarkers)    \
  2832.     (This)->lpVtbl -> GetMarkerCount(This,pcMarkers)
  2833.  
  2834. #define IWMHeaderInfo_GetMarker(This,wIndex,pwszMarkerName,pcchMarkerNameLen,pcnsMarkerTime)    \
  2835.     (This)->lpVtbl -> GetMarker(This,wIndex,pwszMarkerName,pcchMarkerNameLen,pcnsMarkerTime)
  2836.  
  2837. #define IWMHeaderInfo_AddMarker(This,pwszMarkerName,cnsMarkerTime)    \
  2838.     (This)->lpVtbl -> AddMarker(This,pwszMarkerName,cnsMarkerTime)
  2839.  
  2840. #define IWMHeaderInfo_RemoveMarker(This,wIndex)    \
  2841.     (This)->lpVtbl -> RemoveMarker(This,wIndex)
  2842.  
  2843. #define IWMHeaderInfo_GetScriptCount(This,pcScripts)    \
  2844.     (This)->lpVtbl -> GetScriptCount(This,pcScripts)
  2845.  
  2846. #define IWMHeaderInfo_GetScript(This,wIndex,pwszType,pcchTypeLen,pwszCommand,pcchCommandLen,pcnsScriptTime)    \
  2847.     (This)->lpVtbl -> GetScript(This,wIndex,pwszType,pcchTypeLen,pwszCommand,pcchCommandLen,pcnsScriptTime)
  2848.  
  2849. #define IWMHeaderInfo_AddScript(This,pwszType,pwszCommand,cnsScriptTime)    \
  2850.     (This)->lpVtbl -> AddScript(This,pwszType,pwszCommand,cnsScriptTime)
  2851.  
  2852. #define IWMHeaderInfo_RemoveScript(This,wIndex)    \
  2853.     (This)->lpVtbl -> RemoveScript(This,wIndex)
  2854.  
  2855. #endif /* COBJMACROS */
  2856.  
  2857.  
  2858. #endif     /* C style interface */
  2859.  
  2860.  
  2861.  
  2862. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetAttributeCount_Proxy( 
  2863.     IWMHeaderInfo __RPC_FAR * This,
  2864.     /* [in] */ WORD wStreamNum,
  2865.     /* [out] */ WORD __RPC_FAR *pcAttributes);
  2866.  
  2867.  
  2868. void __RPC_STUB IWMHeaderInfo_GetAttributeCount_Stub(
  2869.     IRpcStubBuffer *This,
  2870.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2871.     PRPC_MESSAGE _pRpcMessage,
  2872.     DWORD *_pdwStubPhase);
  2873.  
  2874.  
  2875. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetAttributeByIndex_Proxy( 
  2876.     IWMHeaderInfo __RPC_FAR * This,
  2877.     /* [in] */ WORD wIndex,
  2878.     /* [out][in] */ WORD __RPC_FAR *pwStreamNum,
  2879.     /* [out] */ WCHAR __RPC_FAR *pwszName,
  2880.     /* [out][in] */ WORD __RPC_FAR *pcchNameLen,
  2881.     /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  2882.     /* [out] */ BYTE __RPC_FAR *pValue,
  2883.     /* [out][in] */ WORD __RPC_FAR *pcbLength);
  2884.  
  2885.  
  2886. void __RPC_STUB IWMHeaderInfo_GetAttributeByIndex_Stub(
  2887.     IRpcStubBuffer *This,
  2888.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2889.     PRPC_MESSAGE _pRpcMessage,
  2890.     DWORD *_pdwStubPhase);
  2891.  
  2892.  
  2893. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetAttributeByName_Proxy( 
  2894.     IWMHeaderInfo __RPC_FAR * This,
  2895.     /* [out][in] */ WORD __RPC_FAR *pwStreamNum,
  2896.     /* [in] */ LPCWSTR pszName,
  2897.     /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  2898.     /* [out] */ BYTE __RPC_FAR *pValue,
  2899.     /* [out][in] */ WORD __RPC_FAR *pcbLength);
  2900.  
  2901.  
  2902. void __RPC_STUB IWMHeaderInfo_GetAttributeByName_Stub(
  2903.     IRpcStubBuffer *This,
  2904.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2905.     PRPC_MESSAGE _pRpcMessage,
  2906.     DWORD *_pdwStubPhase);
  2907.  
  2908.  
  2909. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_SetAttribute_Proxy( 
  2910.     IWMHeaderInfo __RPC_FAR * This,
  2911.     /* [in] */ WORD wStreamNum,
  2912.     /* [in] */ LPCWSTR pszName,
  2913.     /* [in] */ WMT_ATTR_DATATYPE Type,
  2914.     /* [in] */ const BYTE __RPC_FAR *pValue,
  2915.     /* [in] */ WORD cbLength);
  2916.  
  2917.  
  2918. void __RPC_STUB IWMHeaderInfo_SetAttribute_Stub(
  2919.     IRpcStubBuffer *This,
  2920.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2921.     PRPC_MESSAGE _pRpcMessage,
  2922.     DWORD *_pdwStubPhase);
  2923.  
  2924.  
  2925. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetMarkerCount_Proxy( 
  2926.     IWMHeaderInfo __RPC_FAR * This,
  2927.     /* [out] */ WORD __RPC_FAR *pcMarkers);
  2928.  
  2929.  
  2930. void __RPC_STUB IWMHeaderInfo_GetMarkerCount_Stub(
  2931.     IRpcStubBuffer *This,
  2932.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2933.     PRPC_MESSAGE _pRpcMessage,
  2934.     DWORD *_pdwStubPhase);
  2935.  
  2936.  
  2937. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetMarker_Proxy( 
  2938.     IWMHeaderInfo __RPC_FAR * This,
  2939.     /* [in] */ WORD wIndex,
  2940.     /* [out] */ WCHAR __RPC_FAR *pwszMarkerName,
  2941.     /* [out][in] */ WORD __RPC_FAR *pcchMarkerNameLen,
  2942.     /* [out] */ QWORD __RPC_FAR *pcnsMarkerTime);
  2943.  
  2944.  
  2945. void __RPC_STUB IWMHeaderInfo_GetMarker_Stub(
  2946.     IRpcStubBuffer *This,
  2947.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2948.     PRPC_MESSAGE _pRpcMessage,
  2949.     DWORD *_pdwStubPhase);
  2950.  
  2951.  
  2952. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_AddMarker_Proxy( 
  2953.     IWMHeaderInfo __RPC_FAR * This,
  2954.     /* [in] */ WCHAR __RPC_FAR *pwszMarkerName,
  2955.     /* [in] */ QWORD cnsMarkerTime);
  2956.  
  2957.  
  2958. void __RPC_STUB IWMHeaderInfo_AddMarker_Stub(
  2959.     IRpcStubBuffer *This,
  2960.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2961.     PRPC_MESSAGE _pRpcMessage,
  2962.     DWORD *_pdwStubPhase);
  2963.  
  2964.  
  2965. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_RemoveMarker_Proxy( 
  2966.     IWMHeaderInfo __RPC_FAR * This,
  2967.     /* [in] */ WORD wIndex);
  2968.  
  2969.  
  2970. void __RPC_STUB IWMHeaderInfo_RemoveMarker_Stub(
  2971.     IRpcStubBuffer *This,
  2972.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2973.     PRPC_MESSAGE _pRpcMessage,
  2974.     DWORD *_pdwStubPhase);
  2975.  
  2976.  
  2977. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetScriptCount_Proxy( 
  2978.     IWMHeaderInfo __RPC_FAR * This,
  2979.     /* [out] */ WORD __RPC_FAR *pcScripts);
  2980.  
  2981.  
  2982. void __RPC_STUB IWMHeaderInfo_GetScriptCount_Stub(
  2983.     IRpcStubBuffer *This,
  2984.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2985.     PRPC_MESSAGE _pRpcMessage,
  2986.     DWORD *_pdwStubPhase);
  2987.  
  2988.  
  2989. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_GetScript_Proxy( 
  2990.     IWMHeaderInfo __RPC_FAR * This,
  2991.     /* [in] */ WORD wIndex,
  2992.     /* [out] */ WCHAR __RPC_FAR *pwszType,
  2993.     /* [out][in] */ WORD __RPC_FAR *pcchTypeLen,
  2994.     /* [out] */ WCHAR __RPC_FAR *pwszCommand,
  2995.     /* [out][in] */ WORD __RPC_FAR *pcchCommandLen,
  2996.     /* [out] */ QWORD __RPC_FAR *pcnsScriptTime);
  2997.  
  2998.  
  2999. void __RPC_STUB IWMHeaderInfo_GetScript_Stub(
  3000.     IRpcStubBuffer *This,
  3001.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3002.     PRPC_MESSAGE _pRpcMessage,
  3003.     DWORD *_pdwStubPhase);
  3004.  
  3005.  
  3006. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_AddScript_Proxy( 
  3007.     IWMHeaderInfo __RPC_FAR * This,
  3008.     /* [in] */ WCHAR __RPC_FAR *pwszType,
  3009.     /* [in] */ WCHAR __RPC_FAR *pwszCommand,
  3010.     /* [in] */ QWORD cnsScriptTime);
  3011.  
  3012.  
  3013. void __RPC_STUB IWMHeaderInfo_AddScript_Stub(
  3014.     IRpcStubBuffer *This,
  3015.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3016.     PRPC_MESSAGE _pRpcMessage,
  3017.     DWORD *_pdwStubPhase);
  3018.  
  3019.  
  3020. HRESULT STDMETHODCALLTYPE IWMHeaderInfo_RemoveScript_Proxy( 
  3021.     IWMHeaderInfo __RPC_FAR * This,
  3022.     /* [in] */ WORD wIndex);
  3023.  
  3024.  
  3025. void __RPC_STUB IWMHeaderInfo_RemoveScript_Stub(
  3026.     IRpcStubBuffer *This,
  3027.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3028.     PRPC_MESSAGE _pRpcMessage,
  3029.     DWORD *_pdwStubPhase);
  3030.  
  3031.  
  3032.  
  3033. #endif     /* __IWMHeaderInfo_INTERFACE_DEFINED__ */
  3034.  
  3035.  
  3036. #ifndef __IWMHeaderInfo2_INTERFACE_DEFINED__
  3037. #define __IWMHeaderInfo2_INTERFACE_DEFINED__
  3038.  
  3039. /* interface IWMHeaderInfo2 */
  3040. /* [local][unique][helpstring][uuid][object] */ 
  3041.  
  3042.  
  3043. EXTERN_C const IID IID_IWMHeaderInfo2;
  3044.  
  3045. #if defined(__cplusplus) && !defined(CINTERFACE)
  3046.     
  3047.     MIDL_INTERFACE("15CF9781-454E-482e-B393-85FAE487A810")
  3048.     IWMHeaderInfo2 : public IWMHeaderInfo
  3049.     {
  3050.     public:
  3051.         virtual HRESULT STDMETHODCALLTYPE GetCodecInfoCount( 
  3052.             /* [out] */ DWORD __RPC_FAR *pcCodecInfos) = 0;
  3053.         
  3054.         virtual HRESULT STDMETHODCALLTYPE GetCodecInfo( 
  3055.             /* [in] */ DWORD wIndex,
  3056.             /* [out][in] */ WORD __RPC_FAR *pcchName,
  3057.             /* [out] */ WCHAR __RPC_FAR *pwszName,
  3058.             /* [out][in] */ WORD __RPC_FAR *pcchDescription,
  3059.             /* [out] */ WCHAR __RPC_FAR *pwszDescription,
  3060.             /* [out] */ WMT_CODEC_INFO_TYPE __RPC_FAR *pCodecType,
  3061.             /* [out][in] */ WORD __RPC_FAR *pcbCodecInfo,
  3062.             /* [out] */ BYTE __RPC_FAR *pbCodecInfo) = 0;
  3063.         
  3064.     };
  3065.     
  3066. #else     /* C style interface */
  3067.  
  3068.     typedef struct IWMHeaderInfo2Vtbl
  3069.     {
  3070.         BEGIN_INTERFACE
  3071.         
  3072.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3073.             IWMHeaderInfo2 __RPC_FAR * This,
  3074.             /* [in] */ REFIID riid,
  3075.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3076.         
  3077.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3078.             IWMHeaderInfo2 __RPC_FAR * This);
  3079.         
  3080.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3081.             IWMHeaderInfo2 __RPC_FAR * This);
  3082.         
  3083.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributeCount )( 
  3084.             IWMHeaderInfo2 __RPC_FAR * This,
  3085.             /* [in] */ WORD wStreamNum,
  3086.             /* [out] */ WORD __RPC_FAR *pcAttributes);
  3087.         
  3088.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributeByIndex )( 
  3089.             IWMHeaderInfo2 __RPC_FAR * This,
  3090.             /* [in] */ WORD wIndex,
  3091.             /* [out][in] */ WORD __RPC_FAR *pwStreamNum,
  3092.             /* [out] */ WCHAR __RPC_FAR *pwszName,
  3093.             /* [out][in] */ WORD __RPC_FAR *pcchNameLen,
  3094.             /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  3095.             /* [out] */ BYTE __RPC_FAR *pValue,
  3096.             /* [out][in] */ WORD __RPC_FAR *pcbLength);
  3097.         
  3098.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAttributeByName )( 
  3099.             IWMHeaderInfo2 __RPC_FAR * This,
  3100.             /* [out][in] */ WORD __RPC_FAR *pwStreamNum,
  3101.             /* [in] */ LPCWSTR pszName,
  3102.             /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  3103.             /* [out] */ BYTE __RPC_FAR *pValue,
  3104.             /* [out][in] */ WORD __RPC_FAR *pcbLength);
  3105.         
  3106.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAttribute )( 
  3107.             IWMHeaderInfo2 __RPC_FAR * This,
  3108.             /* [in] */ WORD wStreamNum,
  3109.             /* [in] */ LPCWSTR pszName,
  3110.             /* [in] */ WMT_ATTR_DATATYPE Type,
  3111.             /* [in] */ const BYTE __RPC_FAR *pValue,
  3112.             /* [in] */ WORD cbLength);
  3113.         
  3114.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMarkerCount )( 
  3115.             IWMHeaderInfo2 __RPC_FAR * This,
  3116.             /* [out] */ WORD __RPC_FAR *pcMarkers);
  3117.         
  3118.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMarker )( 
  3119.             IWMHeaderInfo2 __RPC_FAR * This,
  3120.             /* [in] */ WORD wIndex,
  3121.             /* [out] */ WCHAR __RPC_FAR *pwszMarkerName,
  3122.             /* [out][in] */ WORD __RPC_FAR *pcchMarkerNameLen,
  3123.             /* [out] */ QWORD __RPC_FAR *pcnsMarkerTime);
  3124.         
  3125.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddMarker )( 
  3126.             IWMHeaderInfo2 __RPC_FAR * This,
  3127.             /* [in] */ WCHAR __RPC_FAR *pwszMarkerName,
  3128.             /* [in] */ QWORD cnsMarkerTime);
  3129.         
  3130.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveMarker )( 
  3131.             IWMHeaderInfo2 __RPC_FAR * This,
  3132.             /* [in] */ WORD wIndex);
  3133.         
  3134.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetScriptCount )( 
  3135.             IWMHeaderInfo2 __RPC_FAR * This,
  3136.             /* [out] */ WORD __RPC_FAR *pcScripts);
  3137.         
  3138.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetScript )( 
  3139.             IWMHeaderInfo2 __RPC_FAR * This,
  3140.             /* [in] */ WORD wIndex,
  3141.             /* [out] */ WCHAR __RPC_FAR *pwszType,
  3142.             /* [out][in] */ WORD __RPC_FAR *pcchTypeLen,
  3143.             /* [out] */ WCHAR __RPC_FAR *pwszCommand,
  3144.             /* [out][in] */ WORD __RPC_FAR *pcchCommandLen,
  3145.             /* [out] */ QWORD __RPC_FAR *pcnsScriptTime);
  3146.         
  3147.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddScript )( 
  3148.             IWMHeaderInfo2 __RPC_FAR * This,
  3149.             /* [in] */ WCHAR __RPC_FAR *pwszType,
  3150.             /* [in] */ WCHAR __RPC_FAR *pwszCommand,
  3151.             /* [in] */ QWORD cnsScriptTime);
  3152.         
  3153.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveScript )( 
  3154.             IWMHeaderInfo2 __RPC_FAR * This,
  3155.             /* [in] */ WORD wIndex);
  3156.         
  3157.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodecInfoCount )( 
  3158.             IWMHeaderInfo2 __RPC_FAR * This,
  3159.             /* [out] */ DWORD __RPC_FAR *pcCodecInfos);
  3160.         
  3161.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodecInfo )( 
  3162.             IWMHeaderInfo2 __RPC_FAR * This,
  3163.             /* [in] */ DWORD wIndex,
  3164.             /* [out][in] */ WORD __RPC_FAR *pcchName,
  3165.             /* [out] */ WCHAR __RPC_FAR *pwszName,
  3166.             /* [out][in] */ WORD __RPC_FAR *pcchDescription,
  3167.             /* [out] */ WCHAR __RPC_FAR *pwszDescription,
  3168.             /* [out] */ WMT_CODEC_INFO_TYPE __RPC_FAR *pCodecType,
  3169.             /* [out][in] */ WORD __RPC_FAR *pcbCodecInfo,
  3170.             /* [out] */ BYTE __RPC_FAR *pbCodecInfo);
  3171.         
  3172.         END_INTERFACE
  3173.     } IWMHeaderInfo2Vtbl;
  3174.  
  3175.     interface IWMHeaderInfo2
  3176.     {
  3177.         CONST_VTBL struct IWMHeaderInfo2Vtbl __RPC_FAR *lpVtbl;
  3178.     };
  3179.  
  3180.     
  3181.  
  3182. #ifdef COBJMACROS
  3183.  
  3184.  
  3185. #define IWMHeaderInfo2_QueryInterface(This,riid,ppvObject)    \
  3186.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3187.  
  3188. #define IWMHeaderInfo2_AddRef(This)    \
  3189.     (This)->lpVtbl -> AddRef(This)
  3190.  
  3191. #define IWMHeaderInfo2_Release(This)    \
  3192.     (This)->lpVtbl -> Release(This)
  3193.  
  3194.  
  3195. #define IWMHeaderInfo2_GetAttributeCount(This,wStreamNum,pcAttributes)    \
  3196.     (This)->lpVtbl -> GetAttributeCount(This,wStreamNum,pcAttributes)
  3197.  
  3198. #define IWMHeaderInfo2_GetAttributeByIndex(This,wIndex,pwStreamNum,pwszName,pcchNameLen,pType,pValue,pcbLength)    \
  3199.     (This)->lpVtbl -> GetAttributeByIndex(This,wIndex,pwStreamNum,pwszName,pcchNameLen,pType,pValue,pcbLength)
  3200.  
  3201. #define IWMHeaderInfo2_GetAttributeByName(This,pwStreamNum,pszName,pType,pValue,pcbLength)    \
  3202.     (This)->lpVtbl -> GetAttributeByName(This,pwStreamNum,pszName,pType,pValue,pcbLength)
  3203.  
  3204. #define IWMHeaderInfo2_SetAttribute(This,wStreamNum,pszName,Type,pValue,cbLength)    \
  3205.     (This)->lpVtbl -> SetAttribute(This,wStreamNum,pszName,Type,pValue,cbLength)
  3206.  
  3207. #define IWMHeaderInfo2_GetMarkerCount(This,pcMarkers)    \
  3208.     (This)->lpVtbl -> GetMarkerCount(This,pcMarkers)
  3209.  
  3210. #define IWMHeaderInfo2_GetMarker(This,wIndex,pwszMarkerName,pcchMarkerNameLen,pcnsMarkerTime)    \
  3211.     (This)->lpVtbl -> GetMarker(This,wIndex,pwszMarkerName,pcchMarkerNameLen,pcnsMarkerTime)
  3212.  
  3213. #define IWMHeaderInfo2_AddMarker(This,pwszMarkerName,cnsMarkerTime)    \
  3214.     (This)->lpVtbl -> AddMarker(This,pwszMarkerName,cnsMarkerTime)
  3215.  
  3216. #define IWMHeaderInfo2_RemoveMarker(This,wIndex)    \
  3217.     (This)->lpVtbl -> RemoveMarker(This,wIndex)
  3218.  
  3219. #define IWMHeaderInfo2_GetScriptCount(This,pcScripts)    \
  3220.     (This)->lpVtbl -> GetScriptCount(This,pcScripts)
  3221.  
  3222. #define IWMHeaderInfo2_GetScript(This,wIndex,pwszType,pcchTypeLen,pwszCommand,pcchCommandLen,pcnsScriptTime)    \
  3223.     (This)->lpVtbl -> GetScript(This,wIndex,pwszType,pcchTypeLen,pwszCommand,pcchCommandLen,pcnsScriptTime)
  3224.  
  3225. #define IWMHeaderInfo2_AddScript(This,pwszType,pwszCommand,cnsScriptTime)    \
  3226.     (This)->lpVtbl -> AddScript(This,pwszType,pwszCommand,cnsScriptTime)
  3227.  
  3228. #define IWMHeaderInfo2_RemoveScript(This,wIndex)    \
  3229.     (This)->lpVtbl -> RemoveScript(This,wIndex)
  3230.  
  3231.  
  3232. #define IWMHeaderInfo2_GetCodecInfoCount(This,pcCodecInfos)    \
  3233.     (This)->lpVtbl -> GetCodecInfoCount(This,pcCodecInfos)
  3234.  
  3235. #define IWMHeaderInfo2_GetCodecInfo(This,wIndex,pcchName,pwszName,pcchDescription,pwszDescription,pCodecType,pcbCodecInfo,pbCodecInfo)    \
  3236.     (This)->lpVtbl -> GetCodecInfo(This,wIndex,pcchName,pwszName,pcchDescription,pwszDescription,pCodecType,pcbCodecInfo,pbCodecInfo)
  3237.  
  3238. #endif /* COBJMACROS */
  3239.  
  3240.  
  3241. #endif     /* C style interface */
  3242.  
  3243.  
  3244.  
  3245. HRESULT STDMETHODCALLTYPE IWMHeaderInfo2_GetCodecInfoCount_Proxy( 
  3246.     IWMHeaderInfo2 __RPC_FAR * This,
  3247.     /* [out] */ DWORD __RPC_FAR *pcCodecInfos);
  3248.  
  3249.  
  3250. void __RPC_STUB IWMHeaderInfo2_GetCodecInfoCount_Stub(
  3251.     IRpcStubBuffer *This,
  3252.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3253.     PRPC_MESSAGE _pRpcMessage,
  3254.     DWORD *_pdwStubPhase);
  3255.  
  3256.  
  3257. HRESULT STDMETHODCALLTYPE IWMHeaderInfo2_GetCodecInfo_Proxy( 
  3258.     IWMHeaderInfo2 __RPC_FAR * This,
  3259.     /* [in] */ DWORD wIndex,
  3260.     /* [out][in] */ WORD __RPC_FAR *pcchName,
  3261.     /* [out] */ WCHAR __RPC_FAR *pwszName,
  3262.     /* [out][in] */ WORD __RPC_FAR *pcchDescription,
  3263.     /* [out] */ WCHAR __RPC_FAR *pwszDescription,
  3264.     /* [out] */ WMT_CODEC_INFO_TYPE __RPC_FAR *pCodecType,
  3265.     /* [out][in] */ WORD __RPC_FAR *pcbCodecInfo,
  3266.     /* [out] */ BYTE __RPC_FAR *pbCodecInfo);
  3267.  
  3268.  
  3269. void __RPC_STUB IWMHeaderInfo2_GetCodecInfo_Stub(
  3270.     IRpcStubBuffer *This,
  3271.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3272.     PRPC_MESSAGE _pRpcMessage,
  3273.     DWORD *_pdwStubPhase);
  3274.  
  3275.  
  3276.  
  3277. #endif     /* __IWMHeaderInfo2_INTERFACE_DEFINED__ */
  3278.  
  3279.  
  3280. #ifndef __IWMProfileManager_INTERFACE_DEFINED__
  3281. #define __IWMProfileManager_INTERFACE_DEFINED__
  3282.  
  3283. /* interface IWMProfileManager */
  3284. /* [local][unique][helpstring][uuid][object] */ 
  3285.  
  3286.  
  3287. EXTERN_C const IID IID_IWMProfileManager;
  3288.  
  3289. #if defined(__cplusplus) && !defined(CINTERFACE)
  3290.     
  3291.     MIDL_INTERFACE("d16679f2-6ca0-472d-8d31-2f5d55aee155")
  3292.     IWMProfileManager : public IUnknown
  3293.     {
  3294.     public:
  3295.         virtual HRESULT STDMETHODCALLTYPE CreateEmptyProfile( 
  3296.             /* [in] */ WMT_VERSION dwVersion,
  3297.             /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile) = 0;
  3298.         
  3299.         virtual HRESULT STDMETHODCALLTYPE LoadProfileByID( 
  3300.             /* [in] */ REFGUID guidProfile,
  3301.             /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile) = 0;
  3302.         
  3303.         virtual HRESULT STDMETHODCALLTYPE LoadProfileByData( 
  3304.             /* [in] */ const WCHAR __RPC_FAR *pwszProfile,
  3305.             /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile) = 0;
  3306.         
  3307.         virtual HRESULT STDMETHODCALLTYPE SaveProfile( 
  3308.             /* [in] */ IWMProfile __RPC_FAR *pIWMProfile,
  3309.             /* [in] */ WCHAR __RPC_FAR *pwszProfile,
  3310.             /* [out][in] */ DWORD __RPC_FAR *pdwLength) = 0;
  3311.         
  3312.         virtual HRESULT STDMETHODCALLTYPE GetSystemProfileCount( 
  3313.             /* [out] */ DWORD __RPC_FAR *pcProfiles) = 0;
  3314.         
  3315.         virtual HRESULT STDMETHODCALLTYPE LoadSystemProfile( 
  3316.             /* [in] */ DWORD dwProfileIndex,
  3317.             /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile) = 0;
  3318.         
  3319.     };
  3320.     
  3321. #else     /* C style interface */
  3322.  
  3323.     typedef struct IWMProfileManagerVtbl
  3324.     {
  3325.         BEGIN_INTERFACE
  3326.         
  3327.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3328.             IWMProfileManager __RPC_FAR * This,
  3329.             /* [in] */ REFIID riid,
  3330.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3331.         
  3332.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3333.             IWMProfileManager __RPC_FAR * This);
  3334.         
  3335.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3336.             IWMProfileManager __RPC_FAR * This);
  3337.         
  3338.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateEmptyProfile )( 
  3339.             IWMProfileManager __RPC_FAR * This,
  3340.             /* [in] */ WMT_VERSION dwVersion,
  3341.             /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  3342.         
  3343.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadProfileByID )( 
  3344.             IWMProfileManager __RPC_FAR * This,
  3345.             /* [in] */ REFGUID guidProfile,
  3346.             /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  3347.         
  3348.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadProfileByData )( 
  3349.             IWMProfileManager __RPC_FAR * This,
  3350.             /* [in] */ const WCHAR __RPC_FAR *pwszProfile,
  3351.             /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  3352.         
  3353.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveProfile )( 
  3354.             IWMProfileManager __RPC_FAR * This,
  3355.             /* [in] */ IWMProfile __RPC_FAR *pIWMProfile,
  3356.             /* [in] */ WCHAR __RPC_FAR *pwszProfile,
  3357.             /* [out][in] */ DWORD __RPC_FAR *pdwLength);
  3358.         
  3359.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSystemProfileCount )( 
  3360.             IWMProfileManager __RPC_FAR * This,
  3361.             /* [out] */ DWORD __RPC_FAR *pcProfiles);
  3362.         
  3363.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadSystemProfile )( 
  3364.             IWMProfileManager __RPC_FAR * This,
  3365.             /* [in] */ DWORD dwProfileIndex,
  3366.             /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  3367.         
  3368.         END_INTERFACE
  3369.     } IWMProfileManagerVtbl;
  3370.  
  3371.     interface IWMProfileManager
  3372.     {
  3373.         CONST_VTBL struct IWMProfileManagerVtbl __RPC_FAR *lpVtbl;
  3374.     };
  3375.  
  3376.     
  3377.  
  3378. #ifdef COBJMACROS
  3379.  
  3380.  
  3381. #define IWMProfileManager_QueryInterface(This,riid,ppvObject)    \
  3382.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3383.  
  3384. #define IWMProfileManager_AddRef(This)    \
  3385.     (This)->lpVtbl -> AddRef(This)
  3386.  
  3387. #define IWMProfileManager_Release(This)    \
  3388.     (This)->lpVtbl -> Release(This)
  3389.  
  3390.  
  3391. #define IWMProfileManager_CreateEmptyProfile(This,dwVersion,ppProfile)    \
  3392.     (This)->lpVtbl -> CreateEmptyProfile(This,dwVersion,ppProfile)
  3393.  
  3394. #define IWMProfileManager_LoadProfileByID(This,guidProfile,ppProfile)    \
  3395.     (This)->lpVtbl -> LoadProfileByID(This,guidProfile,ppProfile)
  3396.  
  3397. #define IWMProfileManager_LoadProfileByData(This,pwszProfile,ppProfile)    \
  3398.     (This)->lpVtbl -> LoadProfileByData(This,pwszProfile,ppProfile)
  3399.  
  3400. #define IWMProfileManager_SaveProfile(This,pIWMProfile,pwszProfile,pdwLength)    \
  3401.     (This)->lpVtbl -> SaveProfile(This,pIWMProfile,pwszProfile,pdwLength)
  3402.  
  3403. #define IWMProfileManager_GetSystemProfileCount(This,pcProfiles)    \
  3404.     (This)->lpVtbl -> GetSystemProfileCount(This,pcProfiles)
  3405.  
  3406. #define IWMProfileManager_LoadSystemProfile(This,dwProfileIndex,ppProfile)    \
  3407.     (This)->lpVtbl -> LoadSystemProfile(This,dwProfileIndex,ppProfile)
  3408.  
  3409. #endif /* COBJMACROS */
  3410.  
  3411.  
  3412. #endif     /* C style interface */
  3413.  
  3414.  
  3415.  
  3416. HRESULT STDMETHODCALLTYPE IWMProfileManager_CreateEmptyProfile_Proxy( 
  3417.     IWMProfileManager __RPC_FAR * This,
  3418.     /* [in] */ WMT_VERSION dwVersion,
  3419.     /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  3420.  
  3421.  
  3422. void __RPC_STUB IWMProfileManager_CreateEmptyProfile_Stub(
  3423.     IRpcStubBuffer *This,
  3424.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3425.     PRPC_MESSAGE _pRpcMessage,
  3426.     DWORD *_pdwStubPhase);
  3427.  
  3428.  
  3429. HRESULT STDMETHODCALLTYPE IWMProfileManager_LoadProfileByID_Proxy( 
  3430.     IWMProfileManager __RPC_FAR * This,
  3431.     /* [in] */ REFGUID guidProfile,
  3432.     /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  3433.  
  3434.  
  3435. void __RPC_STUB IWMProfileManager_LoadProfileByID_Stub(
  3436.     IRpcStubBuffer *This,
  3437.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3438.     PRPC_MESSAGE _pRpcMessage,
  3439.     DWORD *_pdwStubPhase);
  3440.  
  3441.  
  3442. HRESULT STDMETHODCALLTYPE IWMProfileManager_LoadProfileByData_Proxy( 
  3443.     IWMProfileManager __RPC_FAR * This,
  3444.     /* [in] */ const WCHAR __RPC_FAR *pwszProfile,
  3445.     /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  3446.  
  3447.  
  3448. void __RPC_STUB IWMProfileManager_LoadProfileByData_Stub(
  3449.     IRpcStubBuffer *This,
  3450.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3451.     PRPC_MESSAGE _pRpcMessage,
  3452.     DWORD *_pdwStubPhase);
  3453.  
  3454.  
  3455. HRESULT STDMETHODCALLTYPE IWMProfileManager_SaveProfile_Proxy( 
  3456.     IWMProfileManager __RPC_FAR * This,
  3457.     /* [in] */ IWMProfile __RPC_FAR *pIWMProfile,
  3458.     /* [in] */ WCHAR __RPC_FAR *pwszProfile,
  3459.     /* [out][in] */ DWORD __RPC_FAR *pdwLength);
  3460.  
  3461.  
  3462. void __RPC_STUB IWMProfileManager_SaveProfile_Stub(
  3463.     IRpcStubBuffer *This,
  3464.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3465.     PRPC_MESSAGE _pRpcMessage,
  3466.     DWORD *_pdwStubPhase);
  3467.  
  3468.  
  3469. HRESULT STDMETHODCALLTYPE IWMProfileManager_GetSystemProfileCount_Proxy( 
  3470.     IWMProfileManager __RPC_FAR * This,
  3471.     /* [out] */ DWORD __RPC_FAR *pcProfiles);
  3472.  
  3473.  
  3474. void __RPC_STUB IWMProfileManager_GetSystemProfileCount_Stub(
  3475.     IRpcStubBuffer *This,
  3476.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3477.     PRPC_MESSAGE _pRpcMessage,
  3478.     DWORD *_pdwStubPhase);
  3479.  
  3480.  
  3481. HRESULT STDMETHODCALLTYPE IWMProfileManager_LoadSystemProfile_Proxy( 
  3482.     IWMProfileManager __RPC_FAR * This,
  3483.     /* [in] */ DWORD dwProfileIndex,
  3484.     /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  3485.  
  3486.  
  3487. void __RPC_STUB IWMProfileManager_LoadSystemProfile_Stub(
  3488.     IRpcStubBuffer *This,
  3489.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3490.     PRPC_MESSAGE _pRpcMessage,
  3491.     DWORD *_pdwStubPhase);
  3492.  
  3493.  
  3494.  
  3495. #endif     /* __IWMProfileManager_INTERFACE_DEFINED__ */
  3496.  
  3497.  
  3498. #ifndef __IWMProfileManager2_INTERFACE_DEFINED__
  3499. #define __IWMProfileManager2_INTERFACE_DEFINED__
  3500.  
  3501. /* interface IWMProfileManager2 */
  3502. /* [local][unique][helpstring][uuid][object] */ 
  3503.  
  3504.  
  3505. EXTERN_C const IID IID_IWMProfileManager2;
  3506.  
  3507. #if defined(__cplusplus) && !defined(CINTERFACE)
  3508.     
  3509.     MIDL_INTERFACE("7A924E51-73C1-494d-8019-23D37ED9B89A")
  3510.     IWMProfileManager2 : public IWMProfileManager
  3511.     {
  3512.     public:
  3513.         virtual HRESULT STDMETHODCALLTYPE GetSystemProfileVersion( 
  3514.             WMT_VERSION __RPC_FAR *pdwVersion) = 0;
  3515.         
  3516.         virtual HRESULT STDMETHODCALLTYPE SetSystemProfileVersion( 
  3517.             WMT_VERSION dwVersion) = 0;
  3518.         
  3519.     };
  3520.     
  3521. #else     /* C style interface */
  3522.  
  3523.     typedef struct IWMProfileManager2Vtbl
  3524.     {
  3525.         BEGIN_INTERFACE
  3526.         
  3527.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3528.             IWMProfileManager2 __RPC_FAR * This,
  3529.             /* [in] */ REFIID riid,
  3530.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3531.         
  3532.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3533.             IWMProfileManager2 __RPC_FAR * This);
  3534.         
  3535.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3536.             IWMProfileManager2 __RPC_FAR * This);
  3537.         
  3538.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateEmptyProfile )( 
  3539.             IWMProfileManager2 __RPC_FAR * This,
  3540.             /* [in] */ WMT_VERSION dwVersion,
  3541.             /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  3542.         
  3543.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadProfileByID )( 
  3544.             IWMProfileManager2 __RPC_FAR * This,
  3545.             /* [in] */ REFGUID guidProfile,
  3546.             /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  3547.         
  3548.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadProfileByData )( 
  3549.             IWMProfileManager2 __RPC_FAR * This,
  3550.             /* [in] */ const WCHAR __RPC_FAR *pwszProfile,
  3551.             /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  3552.         
  3553.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveProfile )( 
  3554.             IWMProfileManager2 __RPC_FAR * This,
  3555.             /* [in] */ IWMProfile __RPC_FAR *pIWMProfile,
  3556.             /* [in] */ WCHAR __RPC_FAR *pwszProfile,
  3557.             /* [out][in] */ DWORD __RPC_FAR *pdwLength);
  3558.         
  3559.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSystemProfileCount )( 
  3560.             IWMProfileManager2 __RPC_FAR * This,
  3561.             /* [out] */ DWORD __RPC_FAR *pcProfiles);
  3562.         
  3563.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadSystemProfile )( 
  3564.             IWMProfileManager2 __RPC_FAR * This,
  3565.             /* [in] */ DWORD dwProfileIndex,
  3566.             /* [out] */ IWMProfile __RPC_FAR *__RPC_FAR *ppProfile);
  3567.         
  3568.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSystemProfileVersion )( 
  3569.             IWMProfileManager2 __RPC_FAR * This,
  3570.             WMT_VERSION __RPC_FAR *pdwVersion);
  3571.         
  3572.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSystemProfileVersion )( 
  3573.             IWMProfileManager2 __RPC_FAR * This,
  3574.             WMT_VERSION dwVersion);
  3575.         
  3576.         END_INTERFACE
  3577.     } IWMProfileManager2Vtbl;
  3578.  
  3579.     interface IWMProfileManager2
  3580.     {
  3581.         CONST_VTBL struct IWMProfileManager2Vtbl __RPC_FAR *lpVtbl;
  3582.     };
  3583.  
  3584.     
  3585.  
  3586. #ifdef COBJMACROS
  3587.  
  3588.  
  3589. #define IWMProfileManager2_QueryInterface(This,riid,ppvObject)    \
  3590.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3591.  
  3592. #define IWMProfileManager2_AddRef(This)    \
  3593.     (This)->lpVtbl -> AddRef(This)
  3594.  
  3595. #define IWMProfileManager2_Release(This)    \
  3596.     (This)->lpVtbl -> Release(This)
  3597.  
  3598.  
  3599. #define IWMProfileManager2_CreateEmptyProfile(This,dwVersion,ppProfile)    \
  3600.     (This)->lpVtbl -> CreateEmptyProfile(This,dwVersion,ppProfile)
  3601.  
  3602. #define IWMProfileManager2_LoadProfileByID(This,guidProfile,ppProfile)    \
  3603.     (This)->lpVtbl -> LoadProfileByID(This,guidProfile,ppProfile)
  3604.  
  3605. #define IWMProfileManager2_LoadProfileByData(This,pwszProfile,ppProfile)    \
  3606.     (This)->lpVtbl -> LoadProfileByData(This,pwszProfile,ppProfile)
  3607.  
  3608. #define IWMProfileManager2_SaveProfile(This,pIWMProfile,pwszProfile,pdwLength)    \
  3609.     (This)->lpVtbl -> SaveProfile(This,pIWMProfile,pwszProfile,pdwLength)
  3610.  
  3611. #define IWMProfileManager2_GetSystemProfileCount(This,pcProfiles)    \
  3612.     (This)->lpVtbl -> GetSystemProfileCount(This,pcProfiles)
  3613.  
  3614. #define IWMProfileManager2_LoadSystemProfile(This,dwProfileIndex,ppProfile)    \
  3615.     (This)->lpVtbl -> LoadSystemProfile(This,dwProfileIndex,ppProfile)
  3616.  
  3617.  
  3618. #define IWMProfileManager2_GetSystemProfileVersion(This,pdwVersion)    \
  3619.     (This)->lpVtbl -> GetSystemProfileVersion(This,pdwVersion)
  3620.  
  3621. #define IWMProfileManager2_SetSystemProfileVersion(This,dwVersion)    \
  3622.     (This)->lpVtbl -> SetSystemProfileVersion(This,dwVersion)
  3623.  
  3624. #endif /* COBJMACROS */
  3625.  
  3626.  
  3627. #endif     /* C style interface */
  3628.  
  3629.  
  3630.  
  3631. HRESULT STDMETHODCALLTYPE IWMProfileManager2_GetSystemProfileVersion_Proxy( 
  3632.     IWMProfileManager2 __RPC_FAR * This,
  3633.     WMT_VERSION __RPC_FAR *pdwVersion);
  3634.  
  3635.  
  3636. void __RPC_STUB IWMProfileManager2_GetSystemProfileVersion_Stub(
  3637.     IRpcStubBuffer *This,
  3638.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3639.     PRPC_MESSAGE _pRpcMessage,
  3640.     DWORD *_pdwStubPhase);
  3641.  
  3642.  
  3643. HRESULT STDMETHODCALLTYPE IWMProfileManager2_SetSystemProfileVersion_Proxy( 
  3644.     IWMProfileManager2 __RPC_FAR * This,
  3645.     WMT_VERSION dwVersion);
  3646.  
  3647.  
  3648. void __RPC_STUB IWMProfileManager2_SetSystemProfileVersion_Stub(
  3649.     IRpcStubBuffer *This,
  3650.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3651.     PRPC_MESSAGE _pRpcMessage,
  3652.     DWORD *_pdwStubPhase);
  3653.  
  3654.  
  3655.  
  3656. #endif     /* __IWMProfileManager2_INTERFACE_DEFINED__ */
  3657.  
  3658.  
  3659. #ifndef __IWMProfile_INTERFACE_DEFINED__
  3660. #define __IWMProfile_INTERFACE_DEFINED__
  3661.  
  3662. /* interface IWMProfile */
  3663. /* [local][unique][helpstring][uuid][object] */ 
  3664.  
  3665.  
  3666. EXTERN_C const IID IID_IWMProfile;
  3667.  
  3668. #if defined(__cplusplus) && !defined(CINTERFACE)
  3669.     
  3670.     MIDL_INTERFACE("96406BDB-2B2B-11d3-B36B-00C04F6108FF")
  3671.     IWMProfile : public IUnknown
  3672.     {
  3673.     public:
  3674.         virtual HRESULT STDMETHODCALLTYPE GetVersion( 
  3675.             /* [out] */ WMT_VERSION __RPC_FAR *pdwVersion) = 0;
  3676.         
  3677.         virtual HRESULT STDMETHODCALLTYPE GetName( 
  3678.             /* [out] */ WCHAR __RPC_FAR *pwszName,
  3679.             /* [out][in] */ DWORD __RPC_FAR *pcchName) = 0;
  3680.         
  3681.         virtual HRESULT STDMETHODCALLTYPE SetName( 
  3682.             /* [in] */ const WCHAR __RPC_FAR *pwszName) = 0;
  3683.         
  3684.         virtual HRESULT STDMETHODCALLTYPE GetDescription( 
  3685.             /* [out] */ WCHAR __RPC_FAR *pwszDescription,
  3686.             /* [out][in] */ DWORD __RPC_FAR *pcchName) = 0;
  3687.         
  3688.         virtual HRESULT STDMETHODCALLTYPE SetDescription( 
  3689.             /* [in] */ const WCHAR __RPC_FAR *pwszDescription) = 0;
  3690.         
  3691.         virtual HRESULT STDMETHODCALLTYPE GetStreamCount( 
  3692.             /* [out] */ DWORD __RPC_FAR *pcStreams) = 0;
  3693.         
  3694.         virtual HRESULT STDMETHODCALLTYPE GetStream( 
  3695.             /* [in] */ DWORD dwStreamIndex,
  3696.             /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig) = 0;
  3697.         
  3698.         virtual HRESULT STDMETHODCALLTYPE GetStreamByNumber( 
  3699.             /* [in] */ WORD wStreamNum,
  3700.             /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig) = 0;
  3701.         
  3702.         virtual HRESULT STDMETHODCALLTYPE RemoveStream( 
  3703.             /* [in] */ IWMStreamConfig __RPC_FAR *pConfig) = 0;
  3704.         
  3705.         virtual HRESULT STDMETHODCALLTYPE RemoveStreamByNumber( 
  3706.             /* [in] */ WORD wStreamNum) = 0;
  3707.         
  3708.         virtual HRESULT STDMETHODCALLTYPE AddStream( 
  3709.             /* [in] */ IWMStreamConfig __RPC_FAR *pConfig) = 0;
  3710.         
  3711.         virtual HRESULT STDMETHODCALLTYPE ReconfigStream( 
  3712.             /* [in] */ IWMStreamConfig __RPC_FAR *pConfig) = 0;
  3713.         
  3714.         virtual HRESULT STDMETHODCALLTYPE CreateNewStream( 
  3715.             /* [in] */ REFGUID guidStreamType,
  3716.             /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig) = 0;
  3717.         
  3718.         virtual HRESULT STDMETHODCALLTYPE GetMutualExclusionCount( 
  3719.             /* [out] */ DWORD __RPC_FAR *pcME) = 0;
  3720.         
  3721.         virtual HRESULT STDMETHODCALLTYPE GetMutualExclusion( 
  3722.             /* [in] */ DWORD dwMEIndex,
  3723.             /* [out] */ IWMMutualExclusion __RPC_FAR *__RPC_FAR *ppME) = 0;
  3724.         
  3725.         virtual HRESULT STDMETHODCALLTYPE RemoveMutualExclusion( 
  3726.             /* [in] */ IWMMutualExclusion __RPC_FAR *pME) = 0;
  3727.         
  3728.         virtual HRESULT STDMETHODCALLTYPE AddMutualExclusion( 
  3729.             /* [in] */ IWMMutualExclusion __RPC_FAR *pME) = 0;
  3730.         
  3731.         virtual HRESULT STDMETHODCALLTYPE CreateNewMutualExclusion( 
  3732.             /* [out] */ IWMMutualExclusion __RPC_FAR *__RPC_FAR *ppME) = 0;
  3733.         
  3734.     };
  3735.     
  3736. #else     /* C style interface */
  3737.  
  3738.     typedef struct IWMProfileVtbl
  3739.     {
  3740.         BEGIN_INTERFACE
  3741.         
  3742.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3743.             IWMProfile __RPC_FAR * This,
  3744.             /* [in] */ REFIID riid,
  3745.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3746.         
  3747.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3748.             IWMProfile __RPC_FAR * This);
  3749.         
  3750.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3751.             IWMProfile __RPC_FAR * This);
  3752.         
  3753.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVersion )( 
  3754.             IWMProfile __RPC_FAR * This,
  3755.             /* [out] */ WMT_VERSION __RPC_FAR *pdwVersion);
  3756.         
  3757.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetName )( 
  3758.             IWMProfile __RPC_FAR * This,
  3759.             /* [out] */ WCHAR __RPC_FAR *pwszName,
  3760.             /* [out][in] */ DWORD __RPC_FAR *pcchName);
  3761.         
  3762.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetName )( 
  3763.             IWMProfile __RPC_FAR * This,
  3764.             /* [in] */ const WCHAR __RPC_FAR *pwszName);
  3765.         
  3766.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDescription )( 
  3767.             IWMProfile __RPC_FAR * This,
  3768.             /* [out] */ WCHAR __RPC_FAR *pwszDescription,
  3769.             /* [out][in] */ DWORD __RPC_FAR *pcchName);
  3770.         
  3771.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDescription )( 
  3772.             IWMProfile __RPC_FAR * This,
  3773.             /* [in] */ const WCHAR __RPC_FAR *pwszDescription);
  3774.         
  3775.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamCount )( 
  3776.             IWMProfile __RPC_FAR * This,
  3777.             /* [out] */ DWORD __RPC_FAR *pcStreams);
  3778.         
  3779.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStream )( 
  3780.             IWMProfile __RPC_FAR * This,
  3781.             /* [in] */ DWORD dwStreamIndex,
  3782.             /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig);
  3783.         
  3784.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamByNumber )( 
  3785.             IWMProfile __RPC_FAR * This,
  3786.             /* [in] */ WORD wStreamNum,
  3787.             /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig);
  3788.         
  3789.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveStream )( 
  3790.             IWMProfile __RPC_FAR * This,
  3791.             /* [in] */ IWMStreamConfig __RPC_FAR *pConfig);
  3792.         
  3793.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveStreamByNumber )( 
  3794.             IWMProfile __RPC_FAR * This,
  3795.             /* [in] */ WORD wStreamNum);
  3796.         
  3797.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddStream )( 
  3798.             IWMProfile __RPC_FAR * This,
  3799.             /* [in] */ IWMStreamConfig __RPC_FAR *pConfig);
  3800.         
  3801.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReconfigStream )( 
  3802.             IWMProfile __RPC_FAR * This,
  3803.             /* [in] */ IWMStreamConfig __RPC_FAR *pConfig);
  3804.         
  3805.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateNewStream )( 
  3806.             IWMProfile __RPC_FAR * This,
  3807.             /* [in] */ REFGUID guidStreamType,
  3808.             /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig);
  3809.         
  3810.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMutualExclusionCount )( 
  3811.             IWMProfile __RPC_FAR * This,
  3812.             /* [out] */ DWORD __RPC_FAR *pcME);
  3813.         
  3814.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMutualExclusion )( 
  3815.             IWMProfile __RPC_FAR * This,
  3816.             /* [in] */ DWORD dwMEIndex,
  3817.             /* [out] */ IWMMutualExclusion __RPC_FAR *__RPC_FAR *ppME);
  3818.         
  3819.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveMutualExclusion )( 
  3820.             IWMProfile __RPC_FAR * This,
  3821.             /* [in] */ IWMMutualExclusion __RPC_FAR *pME);
  3822.         
  3823.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddMutualExclusion )( 
  3824.             IWMProfile __RPC_FAR * This,
  3825.             /* [in] */ IWMMutualExclusion __RPC_FAR *pME);
  3826.         
  3827.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateNewMutualExclusion )( 
  3828.             IWMProfile __RPC_FAR * This,
  3829.             /* [out] */ IWMMutualExclusion __RPC_FAR *__RPC_FAR *ppME);
  3830.         
  3831.         END_INTERFACE
  3832.     } IWMProfileVtbl;
  3833.  
  3834.     interface IWMProfile
  3835.     {
  3836.         CONST_VTBL struct IWMProfileVtbl __RPC_FAR *lpVtbl;
  3837.     };
  3838.  
  3839.     
  3840.  
  3841. #ifdef COBJMACROS
  3842.  
  3843.  
  3844. #define IWMProfile_QueryInterface(This,riid,ppvObject)    \
  3845.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3846.  
  3847. #define IWMProfile_AddRef(This)    \
  3848.     (This)->lpVtbl -> AddRef(This)
  3849.  
  3850. #define IWMProfile_Release(This)    \
  3851.     (This)->lpVtbl -> Release(This)
  3852.  
  3853.  
  3854. #define IWMProfile_GetVersion(This,pdwVersion)    \
  3855.     (This)->lpVtbl -> GetVersion(This,pdwVersion)
  3856.  
  3857. #define IWMProfile_GetName(This,pwszName,pcchName)    \
  3858.     (This)->lpVtbl -> GetName(This,pwszName,pcchName)
  3859.  
  3860. #define IWMProfile_SetName(This,pwszName)    \
  3861.     (This)->lpVtbl -> SetName(This,pwszName)
  3862.  
  3863. #define IWMProfile_GetDescription(This,pwszDescription,pcchName)    \
  3864.     (This)->lpVtbl -> GetDescription(This,pwszDescription,pcchName)
  3865.  
  3866. #define IWMProfile_SetDescription(This,pwszDescription)    \
  3867.     (This)->lpVtbl -> SetDescription(This,pwszDescription)
  3868.  
  3869. #define IWMProfile_GetStreamCount(This,pcStreams)    \
  3870.     (This)->lpVtbl -> GetStreamCount(This,pcStreams)
  3871.  
  3872. #define IWMProfile_GetStream(This,dwStreamIndex,ppConfig)    \
  3873.     (This)->lpVtbl -> GetStream(This,dwStreamIndex,ppConfig)
  3874.  
  3875. #define IWMProfile_GetStreamByNumber(This,wStreamNum,ppConfig)    \
  3876.     (This)->lpVtbl -> GetStreamByNumber(This,wStreamNum,ppConfig)
  3877.  
  3878. #define IWMProfile_RemoveStream(This,pConfig)    \
  3879.     (This)->lpVtbl -> RemoveStream(This,pConfig)
  3880.  
  3881. #define IWMProfile_RemoveStreamByNumber(This,wStreamNum)    \
  3882.     (This)->lpVtbl -> RemoveStreamByNumber(This,wStreamNum)
  3883.  
  3884. #define IWMProfile_AddStream(This,pConfig)    \
  3885.     (This)->lpVtbl -> AddStream(This,pConfig)
  3886.  
  3887. #define IWMProfile_ReconfigStream(This,pConfig)    \
  3888.     (This)->lpVtbl -> ReconfigStream(This,pConfig)
  3889.  
  3890. #define IWMProfile_CreateNewStream(This,guidStreamType,ppConfig)    \
  3891.     (This)->lpVtbl -> CreateNewStream(This,guidStreamType,ppConfig)
  3892.  
  3893. #define IWMProfile_GetMutualExclusionCount(This,pcME)    \
  3894.     (This)->lpVtbl -> GetMutualExclusionCount(This,pcME)
  3895.  
  3896. #define IWMProfile_GetMutualExclusion(This,dwMEIndex,ppME)    \
  3897.     (This)->lpVtbl -> GetMutualExclusion(This,dwMEIndex,ppME)
  3898.  
  3899. #define IWMProfile_RemoveMutualExclusion(This,pME)    \
  3900.     (This)->lpVtbl -> RemoveMutualExclusion(This,pME)
  3901.  
  3902. #define IWMProfile_AddMutualExclusion(This,pME)    \
  3903.     (This)->lpVtbl -> AddMutualExclusion(This,pME)
  3904.  
  3905. #define IWMProfile_CreateNewMutualExclusion(This,ppME)    \
  3906.     (This)->lpVtbl -> CreateNewMutualExclusion(This,ppME)
  3907.  
  3908. #endif /* COBJMACROS */
  3909.  
  3910.  
  3911. #endif     /* C style interface */
  3912.  
  3913.  
  3914.  
  3915. HRESULT STDMETHODCALLTYPE IWMProfile_GetVersion_Proxy( 
  3916.     IWMProfile __RPC_FAR * This,
  3917.     /* [out] */ WMT_VERSION __RPC_FAR *pdwVersion);
  3918.  
  3919.  
  3920. void __RPC_STUB IWMProfile_GetVersion_Stub(
  3921.     IRpcStubBuffer *This,
  3922.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3923.     PRPC_MESSAGE _pRpcMessage,
  3924.     DWORD *_pdwStubPhase);
  3925.  
  3926.  
  3927. HRESULT STDMETHODCALLTYPE IWMProfile_GetName_Proxy( 
  3928.     IWMProfile __RPC_FAR * This,
  3929.     /* [out] */ WCHAR __RPC_FAR *pwszName,
  3930.     /* [out][in] */ DWORD __RPC_FAR *pcchName);
  3931.  
  3932.  
  3933. void __RPC_STUB IWMProfile_GetName_Stub(
  3934.     IRpcStubBuffer *This,
  3935.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3936.     PRPC_MESSAGE _pRpcMessage,
  3937.     DWORD *_pdwStubPhase);
  3938.  
  3939.  
  3940. HRESULT STDMETHODCALLTYPE IWMProfile_SetName_Proxy( 
  3941.     IWMProfile __RPC_FAR * This,
  3942.     /* [in] */ const WCHAR __RPC_FAR *pwszName);
  3943.  
  3944.  
  3945. void __RPC_STUB IWMProfile_SetName_Stub(
  3946.     IRpcStubBuffer *This,
  3947.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3948.     PRPC_MESSAGE _pRpcMessage,
  3949.     DWORD *_pdwStubPhase);
  3950.  
  3951.  
  3952. HRESULT STDMETHODCALLTYPE IWMProfile_GetDescription_Proxy( 
  3953.     IWMProfile __RPC_FAR * This,
  3954.     /* [out] */ WCHAR __RPC_FAR *pwszDescription,
  3955.     /* [out][in] */ DWORD __RPC_FAR *pcchName);
  3956.  
  3957.  
  3958. void __RPC_STUB IWMProfile_GetDescription_Stub(
  3959.     IRpcStubBuffer *This,
  3960.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3961.     PRPC_MESSAGE _pRpcMessage,
  3962.     DWORD *_pdwStubPhase);
  3963.  
  3964.  
  3965. HRESULT STDMETHODCALLTYPE IWMProfile_SetDescription_Proxy( 
  3966.     IWMProfile __RPC_FAR * This,
  3967.     /* [in] */ const WCHAR __RPC_FAR *pwszDescription);
  3968.  
  3969.  
  3970. void __RPC_STUB IWMProfile_SetDescription_Stub(
  3971.     IRpcStubBuffer *This,
  3972.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3973.     PRPC_MESSAGE _pRpcMessage,
  3974.     DWORD *_pdwStubPhase);
  3975.  
  3976.  
  3977. HRESULT STDMETHODCALLTYPE IWMProfile_GetStreamCount_Proxy( 
  3978.     IWMProfile __RPC_FAR * This,
  3979.     /* [out] */ DWORD __RPC_FAR *pcStreams);
  3980.  
  3981.  
  3982. void __RPC_STUB IWMProfile_GetStreamCount_Stub(
  3983.     IRpcStubBuffer *This,
  3984.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3985.     PRPC_MESSAGE _pRpcMessage,
  3986.     DWORD *_pdwStubPhase);
  3987.  
  3988.  
  3989. HRESULT STDMETHODCALLTYPE IWMProfile_GetStream_Proxy( 
  3990.     IWMProfile __RPC_FAR * This,
  3991.     /* [in] */ DWORD dwStreamIndex,
  3992.     /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig);
  3993.  
  3994.  
  3995. void __RPC_STUB IWMProfile_GetStream_Stub(
  3996.     IRpcStubBuffer *This,
  3997.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3998.     PRPC_MESSAGE _pRpcMessage,
  3999.     DWORD *_pdwStubPhase);
  4000.  
  4001.  
  4002. HRESULT STDMETHODCALLTYPE IWMProfile_GetStreamByNumber_Proxy( 
  4003.     IWMProfile __RPC_FAR * This,
  4004.     /* [in] */ WORD wStreamNum,
  4005.     /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig);
  4006.  
  4007.  
  4008. void __RPC_STUB IWMProfile_GetStreamByNumber_Stub(
  4009.     IRpcStubBuffer *This,
  4010.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4011.     PRPC_MESSAGE _pRpcMessage,
  4012.     DWORD *_pdwStubPhase);
  4013.  
  4014.  
  4015. HRESULT STDMETHODCALLTYPE IWMProfile_RemoveStream_Proxy( 
  4016.     IWMProfile __RPC_FAR * This,
  4017.     /* [in] */ IWMStreamConfig __RPC_FAR *pConfig);
  4018.  
  4019.  
  4020. void __RPC_STUB IWMProfile_RemoveStream_Stub(
  4021.     IRpcStubBuffer *This,
  4022.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4023.     PRPC_MESSAGE _pRpcMessage,
  4024.     DWORD *_pdwStubPhase);
  4025.  
  4026.  
  4027. HRESULT STDMETHODCALLTYPE IWMProfile_RemoveStreamByNumber_Proxy( 
  4028.     IWMProfile __RPC_FAR * This,
  4029.     /* [in] */ WORD wStreamNum);
  4030.  
  4031.  
  4032. void __RPC_STUB IWMProfile_RemoveStreamByNumber_Stub(
  4033.     IRpcStubBuffer *This,
  4034.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4035.     PRPC_MESSAGE _pRpcMessage,
  4036.     DWORD *_pdwStubPhase);
  4037.  
  4038.  
  4039. HRESULT STDMETHODCALLTYPE IWMProfile_AddStream_Proxy( 
  4040.     IWMProfile __RPC_FAR * This,
  4041.     /* [in] */ IWMStreamConfig __RPC_FAR *pConfig);
  4042.  
  4043.  
  4044. void __RPC_STUB IWMProfile_AddStream_Stub(
  4045.     IRpcStubBuffer *This,
  4046.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4047.     PRPC_MESSAGE _pRpcMessage,
  4048.     DWORD *_pdwStubPhase);
  4049.  
  4050.  
  4051. HRESULT STDMETHODCALLTYPE IWMProfile_ReconfigStream_Proxy( 
  4052.     IWMProfile __RPC_FAR * This,
  4053.     /* [in] */ IWMStreamConfig __RPC_FAR *pConfig);
  4054.  
  4055.  
  4056. void __RPC_STUB IWMProfile_ReconfigStream_Stub(
  4057.     IRpcStubBuffer *This,
  4058.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4059.     PRPC_MESSAGE _pRpcMessage,
  4060.     DWORD *_pdwStubPhase);
  4061.  
  4062.  
  4063. HRESULT STDMETHODCALLTYPE IWMProfile_CreateNewStream_Proxy( 
  4064.     IWMProfile __RPC_FAR * This,
  4065.     /* [in] */ REFGUID guidStreamType,
  4066.     /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig);
  4067.  
  4068.  
  4069. void __RPC_STUB IWMProfile_CreateNewStream_Stub(
  4070.     IRpcStubBuffer *This,
  4071.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4072.     PRPC_MESSAGE _pRpcMessage,
  4073.     DWORD *_pdwStubPhase);
  4074.  
  4075.  
  4076. HRESULT STDMETHODCALLTYPE IWMProfile_GetMutualExclusionCount_Proxy( 
  4077.     IWMProfile __RPC_FAR * This,
  4078.     /* [out] */ DWORD __RPC_FAR *pcME);
  4079.  
  4080.  
  4081. void __RPC_STUB IWMProfile_GetMutualExclusionCount_Stub(
  4082.     IRpcStubBuffer *This,
  4083.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4084.     PRPC_MESSAGE _pRpcMessage,
  4085.     DWORD *_pdwStubPhase);
  4086.  
  4087.  
  4088. HRESULT STDMETHODCALLTYPE IWMProfile_GetMutualExclusion_Proxy( 
  4089.     IWMProfile __RPC_FAR * This,
  4090.     /* [in] */ DWORD dwMEIndex,
  4091.     /* [out] */ IWMMutualExclusion __RPC_FAR *__RPC_FAR *ppME);
  4092.  
  4093.  
  4094. void __RPC_STUB IWMProfile_GetMutualExclusion_Stub(
  4095.     IRpcStubBuffer *This,
  4096.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4097.     PRPC_MESSAGE _pRpcMessage,
  4098.     DWORD *_pdwStubPhase);
  4099.  
  4100.  
  4101. HRESULT STDMETHODCALLTYPE IWMProfile_RemoveMutualExclusion_Proxy( 
  4102.     IWMProfile __RPC_FAR * This,
  4103.     /* [in] */ IWMMutualExclusion __RPC_FAR *pME);
  4104.  
  4105.  
  4106. void __RPC_STUB IWMProfile_RemoveMutualExclusion_Stub(
  4107.     IRpcStubBuffer *This,
  4108.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4109.     PRPC_MESSAGE _pRpcMessage,
  4110.     DWORD *_pdwStubPhase);
  4111.  
  4112.  
  4113. HRESULT STDMETHODCALLTYPE IWMProfile_AddMutualExclusion_Proxy( 
  4114.     IWMProfile __RPC_FAR * This,
  4115.     /* [in] */ IWMMutualExclusion __RPC_FAR *pME);
  4116.  
  4117.  
  4118. void __RPC_STUB IWMProfile_AddMutualExclusion_Stub(
  4119.     IRpcStubBuffer *This,
  4120.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4121.     PRPC_MESSAGE _pRpcMessage,
  4122.     DWORD *_pdwStubPhase);
  4123.  
  4124.  
  4125. HRESULT STDMETHODCALLTYPE IWMProfile_CreateNewMutualExclusion_Proxy( 
  4126.     IWMProfile __RPC_FAR * This,
  4127.     /* [out] */ IWMMutualExclusion __RPC_FAR *__RPC_FAR *ppME);
  4128.  
  4129.  
  4130. void __RPC_STUB IWMProfile_CreateNewMutualExclusion_Stub(
  4131.     IRpcStubBuffer *This,
  4132.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4133.     PRPC_MESSAGE _pRpcMessage,
  4134.     DWORD *_pdwStubPhase);
  4135.  
  4136.  
  4137.  
  4138. #endif     /* __IWMProfile_INTERFACE_DEFINED__ */
  4139.  
  4140.  
  4141. #ifndef __IWMProfile2_INTERFACE_DEFINED__
  4142. #define __IWMProfile2_INTERFACE_DEFINED__
  4143.  
  4144. /* interface IWMProfile2 */
  4145. /* [local][unique][helpstring][uuid][object] */ 
  4146.  
  4147.  
  4148. EXTERN_C const IID IID_IWMProfile2;
  4149.  
  4150. #if defined(__cplusplus) && !defined(CINTERFACE)
  4151.     
  4152.     MIDL_INTERFACE("07E72D33-D94E-4be7-8843-60AE5FF7E5F5")
  4153.     IWMProfile2 : public IWMProfile
  4154.     {
  4155.     public:
  4156.         virtual HRESULT STDMETHODCALLTYPE GetProfileID( 
  4157.             /* [out] */ GUID __RPC_FAR *pguidID) = 0;
  4158.         
  4159.     };
  4160.     
  4161. #else     /* C style interface */
  4162.  
  4163.     typedef struct IWMProfile2Vtbl
  4164.     {
  4165.         BEGIN_INTERFACE
  4166.         
  4167.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4168.             IWMProfile2 __RPC_FAR * This,
  4169.             /* [in] */ REFIID riid,
  4170.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4171.         
  4172.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4173.             IWMProfile2 __RPC_FAR * This);
  4174.         
  4175.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4176.             IWMProfile2 __RPC_FAR * This);
  4177.         
  4178.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetVersion )( 
  4179.             IWMProfile2 __RPC_FAR * This,
  4180.             /* [out] */ WMT_VERSION __RPC_FAR *pdwVersion);
  4181.         
  4182.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetName )( 
  4183.             IWMProfile2 __RPC_FAR * This,
  4184.             /* [out] */ WCHAR __RPC_FAR *pwszName,
  4185.             /* [out][in] */ DWORD __RPC_FAR *pcchName);
  4186.         
  4187.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetName )( 
  4188.             IWMProfile2 __RPC_FAR * This,
  4189.             /* [in] */ const WCHAR __RPC_FAR *pwszName);
  4190.         
  4191.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDescription )( 
  4192.             IWMProfile2 __RPC_FAR * This,
  4193.             /* [out] */ WCHAR __RPC_FAR *pwszDescription,
  4194.             /* [out][in] */ DWORD __RPC_FAR *pcchName);
  4195.         
  4196.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDescription )( 
  4197.             IWMProfile2 __RPC_FAR * This,
  4198.             /* [in] */ const WCHAR __RPC_FAR *pwszDescription);
  4199.         
  4200.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamCount )( 
  4201.             IWMProfile2 __RPC_FAR * This,
  4202.             /* [out] */ DWORD __RPC_FAR *pcStreams);
  4203.         
  4204.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStream )( 
  4205.             IWMProfile2 __RPC_FAR * This,
  4206.             /* [in] */ DWORD dwStreamIndex,
  4207.             /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig);
  4208.         
  4209.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamByNumber )( 
  4210.             IWMProfile2 __RPC_FAR * This,
  4211.             /* [in] */ WORD wStreamNum,
  4212.             /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig);
  4213.         
  4214.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveStream )( 
  4215.             IWMProfile2 __RPC_FAR * This,
  4216.             /* [in] */ IWMStreamConfig __RPC_FAR *pConfig);
  4217.         
  4218.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveStreamByNumber )( 
  4219.             IWMProfile2 __RPC_FAR * This,
  4220.             /* [in] */ WORD wStreamNum);
  4221.         
  4222.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddStream )( 
  4223.             IWMProfile2 __RPC_FAR * This,
  4224.             /* [in] */ IWMStreamConfig __RPC_FAR *pConfig);
  4225.         
  4226.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReconfigStream )( 
  4227.             IWMProfile2 __RPC_FAR * This,
  4228.             /* [in] */ IWMStreamConfig __RPC_FAR *pConfig);
  4229.         
  4230.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateNewStream )( 
  4231.             IWMProfile2 __RPC_FAR * This,
  4232.             /* [in] */ REFGUID guidStreamType,
  4233.             /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppConfig);
  4234.         
  4235.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMutualExclusionCount )( 
  4236.             IWMProfile2 __RPC_FAR * This,
  4237.             /* [out] */ DWORD __RPC_FAR *pcME);
  4238.         
  4239.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMutualExclusion )( 
  4240.             IWMProfile2 __RPC_FAR * This,
  4241.             /* [in] */ DWORD dwMEIndex,
  4242.             /* [out] */ IWMMutualExclusion __RPC_FAR *__RPC_FAR *ppME);
  4243.         
  4244.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveMutualExclusion )( 
  4245.             IWMProfile2 __RPC_FAR * This,
  4246.             /* [in] */ IWMMutualExclusion __RPC_FAR *pME);
  4247.         
  4248.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddMutualExclusion )( 
  4249.             IWMProfile2 __RPC_FAR * This,
  4250.             /* [in] */ IWMMutualExclusion __RPC_FAR *pME);
  4251.         
  4252.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateNewMutualExclusion )( 
  4253.             IWMProfile2 __RPC_FAR * This,
  4254.             /* [out] */ IWMMutualExclusion __RPC_FAR *__RPC_FAR *ppME);
  4255.         
  4256.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProfileID )( 
  4257.             IWMProfile2 __RPC_FAR * This,
  4258.             /* [out] */ GUID __RPC_FAR *pguidID);
  4259.         
  4260.         END_INTERFACE
  4261.     } IWMProfile2Vtbl;
  4262.  
  4263.     interface IWMProfile2
  4264.     {
  4265.         CONST_VTBL struct IWMProfile2Vtbl __RPC_FAR *lpVtbl;
  4266.     };
  4267.  
  4268.     
  4269.  
  4270. #ifdef COBJMACROS
  4271.  
  4272.  
  4273. #define IWMProfile2_QueryInterface(This,riid,ppvObject)    \
  4274.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4275.  
  4276. #define IWMProfile2_AddRef(This)    \
  4277.     (This)->lpVtbl -> AddRef(This)
  4278.  
  4279. #define IWMProfile2_Release(This)    \
  4280.     (This)->lpVtbl -> Release(This)
  4281.  
  4282.  
  4283. #define IWMProfile2_GetVersion(This,pdwVersion)    \
  4284.     (This)->lpVtbl -> GetVersion(This,pdwVersion)
  4285.  
  4286. #define IWMProfile2_GetName(This,pwszName,pcchName)    \
  4287.     (This)->lpVtbl -> GetName(This,pwszName,pcchName)
  4288.  
  4289. #define IWMProfile2_SetName(This,pwszName)    \
  4290.     (This)->lpVtbl -> SetName(This,pwszName)
  4291.  
  4292. #define IWMProfile2_GetDescription(This,pwszDescription,pcchName)    \
  4293.     (This)->lpVtbl -> GetDescription(This,pwszDescription,pcchName)
  4294.  
  4295. #define IWMProfile2_SetDescription(This,pwszDescription)    \
  4296.     (This)->lpVtbl -> SetDescription(This,pwszDescription)
  4297.  
  4298. #define IWMProfile2_GetStreamCount(This,pcStreams)    \
  4299.     (This)->lpVtbl -> GetStreamCount(This,pcStreams)
  4300.  
  4301. #define IWMProfile2_GetStream(This,dwStreamIndex,ppConfig)    \
  4302.     (This)->lpVtbl -> GetStream(This,dwStreamIndex,ppConfig)
  4303.  
  4304. #define IWMProfile2_GetStreamByNumber(This,wStreamNum,ppConfig)    \
  4305.     (This)->lpVtbl -> GetStreamByNumber(This,wStreamNum,ppConfig)
  4306.  
  4307. #define IWMProfile2_RemoveStream(This,pConfig)    \
  4308.     (This)->lpVtbl -> RemoveStream(This,pConfig)
  4309.  
  4310. #define IWMProfile2_RemoveStreamByNumber(This,wStreamNum)    \
  4311.     (This)->lpVtbl -> RemoveStreamByNumber(This,wStreamNum)
  4312.  
  4313. #define IWMProfile2_AddStream(This,pConfig)    \
  4314.     (This)->lpVtbl -> AddStream(This,pConfig)
  4315.  
  4316. #define IWMProfile2_ReconfigStream(This,pConfig)    \
  4317.     (This)->lpVtbl -> ReconfigStream(This,pConfig)
  4318.  
  4319. #define IWMProfile2_CreateNewStream(This,guidStreamType,ppConfig)    \
  4320.     (This)->lpVtbl -> CreateNewStream(This,guidStreamType,ppConfig)
  4321.  
  4322. #define IWMProfile2_GetMutualExclusionCount(This,pcME)    \
  4323.     (This)->lpVtbl -> GetMutualExclusionCount(This,pcME)
  4324.  
  4325. #define IWMProfile2_GetMutualExclusion(This,dwMEIndex,ppME)    \
  4326.     (This)->lpVtbl -> GetMutualExclusion(This,dwMEIndex,ppME)
  4327.  
  4328. #define IWMProfile2_RemoveMutualExclusion(This,pME)    \
  4329.     (This)->lpVtbl -> RemoveMutualExclusion(This,pME)
  4330.  
  4331. #define IWMProfile2_AddMutualExclusion(This,pME)    \
  4332.     (This)->lpVtbl -> AddMutualExclusion(This,pME)
  4333.  
  4334. #define IWMProfile2_CreateNewMutualExclusion(This,ppME)    \
  4335.     (This)->lpVtbl -> CreateNewMutualExclusion(This,ppME)
  4336.  
  4337.  
  4338. #define IWMProfile2_GetProfileID(This,pguidID)    \
  4339.     (This)->lpVtbl -> GetProfileID(This,pguidID)
  4340.  
  4341. #endif /* COBJMACROS */
  4342.  
  4343.  
  4344. #endif     /* C style interface */
  4345.  
  4346.  
  4347.  
  4348. HRESULT STDMETHODCALLTYPE IWMProfile2_GetProfileID_Proxy( 
  4349.     IWMProfile2 __RPC_FAR * This,
  4350.     /* [out] */ GUID __RPC_FAR *pguidID);
  4351.  
  4352.  
  4353. void __RPC_STUB IWMProfile2_GetProfileID_Stub(
  4354.     IRpcStubBuffer *This,
  4355.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4356.     PRPC_MESSAGE _pRpcMessage,
  4357.     DWORD *_pdwStubPhase);
  4358.  
  4359.  
  4360.  
  4361. #endif     /* __IWMProfile2_INTERFACE_DEFINED__ */
  4362.  
  4363.  
  4364. #ifndef __IWMStreamConfig_INTERFACE_DEFINED__
  4365. #define __IWMStreamConfig_INTERFACE_DEFINED__
  4366.  
  4367. /* interface IWMStreamConfig */
  4368. /* [local][unique][helpstring][uuid][object] */ 
  4369.  
  4370.  
  4371. EXTERN_C const IID IID_IWMStreamConfig;
  4372.  
  4373. #if defined(__cplusplus) && !defined(CINTERFACE)
  4374.     
  4375.     MIDL_INTERFACE("96406BDC-2B2B-11d3-B36B-00C04F6108FF")
  4376.     IWMStreamConfig : public IUnknown
  4377.     {
  4378.     public:
  4379.         virtual HRESULT STDMETHODCALLTYPE GetStreamType( 
  4380.             /* [out] */ GUID __RPC_FAR *pguidStreamType) = 0;
  4381.         
  4382.         virtual HRESULT STDMETHODCALLTYPE GetStreamNumber( 
  4383.             /* [out] */ WORD __RPC_FAR *pwStreamNum) = 0;
  4384.         
  4385.         virtual HRESULT STDMETHODCALLTYPE SetStreamNumber( 
  4386.             /* [in] */ WORD wStreamNum) = 0;
  4387.         
  4388.         virtual HRESULT STDMETHODCALLTYPE GetStreamName( 
  4389.             /* [out] */ WCHAR __RPC_FAR *pwszStreamName,
  4390.             /* [out][in] */ WORD __RPC_FAR *pcchStreamName) = 0;
  4391.         
  4392.         virtual HRESULT STDMETHODCALLTYPE SetStreamName( 
  4393.             /* [in] */ WCHAR __RPC_FAR *pwszStreamName) = 0;
  4394.         
  4395.         virtual HRESULT STDMETHODCALLTYPE GetConnectionName( 
  4396.             /* [out] */ WCHAR __RPC_FAR *pwszInputName,
  4397.             /* [out][in] */ WORD __RPC_FAR *pcchInputName) = 0;
  4398.         
  4399.         virtual HRESULT STDMETHODCALLTYPE SetConnectionName( 
  4400.             /* [in] */ WCHAR __RPC_FAR *pwszInputName) = 0;
  4401.         
  4402.         virtual HRESULT STDMETHODCALLTYPE GetBitrate( 
  4403.             /* [out] */ DWORD __RPC_FAR *pdwBitrate) = 0;
  4404.         
  4405.         virtual HRESULT STDMETHODCALLTYPE SetBitrate( 
  4406.             /* [in] */ DWORD pdwBitrate) = 0;
  4407.         
  4408.         virtual HRESULT STDMETHODCALLTYPE GetBufferWindow( 
  4409.             /* [out] */ DWORD __RPC_FAR *pmsBufferWindow) = 0;
  4410.         
  4411.         virtual HRESULT STDMETHODCALLTYPE SetBufferWindow( 
  4412.             /* [in] */ DWORD msBufferWindow) = 0;
  4413.         
  4414.     };
  4415.     
  4416. #else     /* C style interface */
  4417.  
  4418.     typedef struct IWMStreamConfigVtbl
  4419.     {
  4420.         BEGIN_INTERFACE
  4421.         
  4422.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4423.             IWMStreamConfig __RPC_FAR * This,
  4424.             /* [in] */ REFIID riid,
  4425.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4426.         
  4427.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4428.             IWMStreamConfig __RPC_FAR * This);
  4429.         
  4430.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4431.             IWMStreamConfig __RPC_FAR * This);
  4432.         
  4433.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamType )( 
  4434.             IWMStreamConfig __RPC_FAR * This,
  4435.             /* [out] */ GUID __RPC_FAR *pguidStreamType);
  4436.         
  4437.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamNumber )( 
  4438.             IWMStreamConfig __RPC_FAR * This,
  4439.             /* [out] */ WORD __RPC_FAR *pwStreamNum);
  4440.         
  4441.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetStreamNumber )( 
  4442.             IWMStreamConfig __RPC_FAR * This,
  4443.             /* [in] */ WORD wStreamNum);
  4444.         
  4445.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamName )( 
  4446.             IWMStreamConfig __RPC_FAR * This,
  4447.             /* [out] */ WCHAR __RPC_FAR *pwszStreamName,
  4448.             /* [out][in] */ WORD __RPC_FAR *pcchStreamName);
  4449.         
  4450.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetStreamName )( 
  4451.             IWMStreamConfig __RPC_FAR * This,
  4452.             /* [in] */ WCHAR __RPC_FAR *pwszStreamName);
  4453.         
  4454.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetConnectionName )( 
  4455.             IWMStreamConfig __RPC_FAR * This,
  4456.             /* [out] */ WCHAR __RPC_FAR *pwszInputName,
  4457.             /* [out][in] */ WORD __RPC_FAR *pcchInputName);
  4458.         
  4459.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetConnectionName )( 
  4460.             IWMStreamConfig __RPC_FAR * This,
  4461.             /* [in] */ WCHAR __RPC_FAR *pwszInputName);
  4462.         
  4463.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBitrate )( 
  4464.             IWMStreamConfig __RPC_FAR * This,
  4465.             /* [out] */ DWORD __RPC_FAR *pdwBitrate);
  4466.         
  4467.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBitrate )( 
  4468.             IWMStreamConfig __RPC_FAR * This,
  4469.             /* [in] */ DWORD pdwBitrate);
  4470.         
  4471.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBufferWindow )( 
  4472.             IWMStreamConfig __RPC_FAR * This,
  4473.             /* [out] */ DWORD __RPC_FAR *pmsBufferWindow);
  4474.         
  4475.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBufferWindow )( 
  4476.             IWMStreamConfig __RPC_FAR * This,
  4477.             /* [in] */ DWORD msBufferWindow);
  4478.         
  4479.         END_INTERFACE
  4480.     } IWMStreamConfigVtbl;
  4481.  
  4482.     interface IWMStreamConfig
  4483.     {
  4484.         CONST_VTBL struct IWMStreamConfigVtbl __RPC_FAR *lpVtbl;
  4485.     };
  4486.  
  4487.     
  4488.  
  4489. #ifdef COBJMACROS
  4490.  
  4491.  
  4492. #define IWMStreamConfig_QueryInterface(This,riid,ppvObject)    \
  4493.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4494.  
  4495. #define IWMStreamConfig_AddRef(This)    \
  4496.     (This)->lpVtbl -> AddRef(This)
  4497.  
  4498. #define IWMStreamConfig_Release(This)    \
  4499.     (This)->lpVtbl -> Release(This)
  4500.  
  4501.  
  4502. #define IWMStreamConfig_GetStreamType(This,pguidStreamType)    \
  4503.     (This)->lpVtbl -> GetStreamType(This,pguidStreamType)
  4504.  
  4505. #define IWMStreamConfig_GetStreamNumber(This,pwStreamNum)    \
  4506.     (This)->lpVtbl -> GetStreamNumber(This,pwStreamNum)
  4507.  
  4508. #define IWMStreamConfig_SetStreamNumber(This,wStreamNum)    \
  4509.     (This)->lpVtbl -> SetStreamNumber(This,wStreamNum)
  4510.  
  4511. #define IWMStreamConfig_GetStreamName(This,pwszStreamName,pcchStreamName)    \
  4512.     (This)->lpVtbl -> GetStreamName(This,pwszStreamName,pcchStreamName)
  4513.  
  4514. #define IWMStreamConfig_SetStreamName(This,pwszStreamName)    \
  4515.     (This)->lpVtbl -> SetStreamName(This,pwszStreamName)
  4516.  
  4517. #define IWMStreamConfig_GetConnectionName(This,pwszInputName,pcchInputName)    \
  4518.     (This)->lpVtbl -> GetConnectionName(This,pwszInputName,pcchInputName)
  4519.  
  4520. #define IWMStreamConfig_SetConnectionName(This,pwszInputName)    \
  4521.     (This)->lpVtbl -> SetConnectionName(This,pwszInputName)
  4522.  
  4523. #define IWMStreamConfig_GetBitrate(This,pdwBitrate)    \
  4524.     (This)->lpVtbl -> GetBitrate(This,pdwBitrate)
  4525.  
  4526. #define IWMStreamConfig_SetBitrate(This,pdwBitrate)    \
  4527.     (This)->lpVtbl -> SetBitrate(This,pdwBitrate)
  4528.  
  4529. #define IWMStreamConfig_GetBufferWindow(This,pmsBufferWindow)    \
  4530.     (This)->lpVtbl -> GetBufferWindow(This,pmsBufferWindow)
  4531.  
  4532. #define IWMStreamConfig_SetBufferWindow(This,msBufferWindow)    \
  4533.     (This)->lpVtbl -> SetBufferWindow(This,msBufferWindow)
  4534.  
  4535. #endif /* COBJMACROS */
  4536.  
  4537.  
  4538. #endif     /* C style interface */
  4539.  
  4540.  
  4541.  
  4542. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetStreamType_Proxy( 
  4543.     IWMStreamConfig __RPC_FAR * This,
  4544.     /* [out] */ GUID __RPC_FAR *pguidStreamType);
  4545.  
  4546.  
  4547. void __RPC_STUB IWMStreamConfig_GetStreamType_Stub(
  4548.     IRpcStubBuffer *This,
  4549.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4550.     PRPC_MESSAGE _pRpcMessage,
  4551.     DWORD *_pdwStubPhase);
  4552.  
  4553.  
  4554. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetStreamNumber_Proxy( 
  4555.     IWMStreamConfig __RPC_FAR * This,
  4556.     /* [out] */ WORD __RPC_FAR *pwStreamNum);
  4557.  
  4558.  
  4559. void __RPC_STUB IWMStreamConfig_GetStreamNumber_Stub(
  4560.     IRpcStubBuffer *This,
  4561.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4562.     PRPC_MESSAGE _pRpcMessage,
  4563.     DWORD *_pdwStubPhase);
  4564.  
  4565.  
  4566. HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetStreamNumber_Proxy( 
  4567.     IWMStreamConfig __RPC_FAR * This,
  4568.     /* [in] */ WORD wStreamNum);
  4569.  
  4570.  
  4571. void __RPC_STUB IWMStreamConfig_SetStreamNumber_Stub(
  4572.     IRpcStubBuffer *This,
  4573.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4574.     PRPC_MESSAGE _pRpcMessage,
  4575.     DWORD *_pdwStubPhase);
  4576.  
  4577.  
  4578. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetStreamName_Proxy( 
  4579.     IWMStreamConfig __RPC_FAR * This,
  4580.     /* [out] */ WCHAR __RPC_FAR *pwszStreamName,
  4581.     /* [out][in] */ WORD __RPC_FAR *pcchStreamName);
  4582.  
  4583.  
  4584. void __RPC_STUB IWMStreamConfig_GetStreamName_Stub(
  4585.     IRpcStubBuffer *This,
  4586.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4587.     PRPC_MESSAGE _pRpcMessage,
  4588.     DWORD *_pdwStubPhase);
  4589.  
  4590.  
  4591. HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetStreamName_Proxy( 
  4592.     IWMStreamConfig __RPC_FAR * This,
  4593.     /* [in] */ WCHAR __RPC_FAR *pwszStreamName);
  4594.  
  4595.  
  4596. void __RPC_STUB IWMStreamConfig_SetStreamName_Stub(
  4597.     IRpcStubBuffer *This,
  4598.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4599.     PRPC_MESSAGE _pRpcMessage,
  4600.     DWORD *_pdwStubPhase);
  4601.  
  4602.  
  4603. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetConnectionName_Proxy( 
  4604.     IWMStreamConfig __RPC_FAR * This,
  4605.     /* [out] */ WCHAR __RPC_FAR *pwszInputName,
  4606.     /* [out][in] */ WORD __RPC_FAR *pcchInputName);
  4607.  
  4608.  
  4609. void __RPC_STUB IWMStreamConfig_GetConnectionName_Stub(
  4610.     IRpcStubBuffer *This,
  4611.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4612.     PRPC_MESSAGE _pRpcMessage,
  4613.     DWORD *_pdwStubPhase);
  4614.  
  4615.  
  4616. HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetConnectionName_Proxy( 
  4617.     IWMStreamConfig __RPC_FAR * This,
  4618.     /* [in] */ WCHAR __RPC_FAR *pwszInputName);
  4619.  
  4620.  
  4621. void __RPC_STUB IWMStreamConfig_SetConnectionName_Stub(
  4622.     IRpcStubBuffer *This,
  4623.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4624.     PRPC_MESSAGE _pRpcMessage,
  4625.     DWORD *_pdwStubPhase);
  4626.  
  4627.  
  4628. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetBitrate_Proxy( 
  4629.     IWMStreamConfig __RPC_FAR * This,
  4630.     /* [out] */ DWORD __RPC_FAR *pdwBitrate);
  4631.  
  4632.  
  4633. void __RPC_STUB IWMStreamConfig_GetBitrate_Stub(
  4634.     IRpcStubBuffer *This,
  4635.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4636.     PRPC_MESSAGE _pRpcMessage,
  4637.     DWORD *_pdwStubPhase);
  4638.  
  4639.  
  4640. HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetBitrate_Proxy( 
  4641.     IWMStreamConfig __RPC_FAR * This,
  4642.     /* [in] */ DWORD pdwBitrate);
  4643.  
  4644.  
  4645. void __RPC_STUB IWMStreamConfig_SetBitrate_Stub(
  4646.     IRpcStubBuffer *This,
  4647.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4648.     PRPC_MESSAGE _pRpcMessage,
  4649.     DWORD *_pdwStubPhase);
  4650.  
  4651.  
  4652. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetBufferWindow_Proxy( 
  4653.     IWMStreamConfig __RPC_FAR * This,
  4654.     /* [out] */ DWORD __RPC_FAR *pmsBufferWindow);
  4655.  
  4656.  
  4657. void __RPC_STUB IWMStreamConfig_GetBufferWindow_Stub(
  4658.     IRpcStubBuffer *This,
  4659.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4660.     PRPC_MESSAGE _pRpcMessage,
  4661.     DWORD *_pdwStubPhase);
  4662.  
  4663.  
  4664. HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetBufferWindow_Proxy( 
  4665.     IWMStreamConfig __RPC_FAR * This,
  4666.     /* [in] */ DWORD msBufferWindow);
  4667.  
  4668.  
  4669. void __RPC_STUB IWMStreamConfig_SetBufferWindow_Stub(
  4670.     IRpcStubBuffer *This,
  4671.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4672.     PRPC_MESSAGE _pRpcMessage,
  4673.     DWORD *_pdwStubPhase);
  4674.  
  4675.  
  4676.  
  4677. #endif     /* __IWMStreamConfig_INTERFACE_DEFINED__ */
  4678.  
  4679.  
  4680. #ifndef __IWMPacketSize_INTERFACE_DEFINED__
  4681. #define __IWMPacketSize_INTERFACE_DEFINED__
  4682.  
  4683. /* interface IWMPacketSize */
  4684. /* [local][unique][helpstring][uuid][object] */ 
  4685.  
  4686.  
  4687. EXTERN_C const IID IID_IWMPacketSize;
  4688.  
  4689. #if defined(__cplusplus) && !defined(CINTERFACE)
  4690.     
  4691.     MIDL_INTERFACE("CDFB97AB-188F-40b3-B643-5B7903975C59")
  4692.     IWMPacketSize : public IUnknown
  4693.     {
  4694.     public:
  4695.         virtual HRESULT STDMETHODCALLTYPE GetMaxPacketSize( 
  4696.             /* [out] */ DWORD __RPC_FAR *pdwMaxPacketSize) = 0;
  4697.         
  4698.         virtual HRESULT STDMETHODCALLTYPE SetMaxPacketSize( 
  4699.             /* [in] */ DWORD dwMaxPacketSize) = 0;
  4700.         
  4701.     };
  4702.     
  4703. #else     /* C style interface */
  4704.  
  4705.     typedef struct IWMPacketSizeVtbl
  4706.     {
  4707.         BEGIN_INTERFACE
  4708.         
  4709.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4710.             IWMPacketSize __RPC_FAR * This,
  4711.             /* [in] */ REFIID riid,
  4712.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4713.         
  4714.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4715.             IWMPacketSize __RPC_FAR * This);
  4716.         
  4717.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4718.             IWMPacketSize __RPC_FAR * This);
  4719.         
  4720.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMaxPacketSize )( 
  4721.             IWMPacketSize __RPC_FAR * This,
  4722.             /* [out] */ DWORD __RPC_FAR *pdwMaxPacketSize);
  4723.         
  4724.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMaxPacketSize )( 
  4725.             IWMPacketSize __RPC_FAR * This,
  4726.             /* [in] */ DWORD dwMaxPacketSize);
  4727.         
  4728.         END_INTERFACE
  4729.     } IWMPacketSizeVtbl;
  4730.  
  4731.     interface IWMPacketSize
  4732.     {
  4733.         CONST_VTBL struct IWMPacketSizeVtbl __RPC_FAR *lpVtbl;
  4734.     };
  4735.  
  4736.     
  4737.  
  4738. #ifdef COBJMACROS
  4739.  
  4740.  
  4741. #define IWMPacketSize_QueryInterface(This,riid,ppvObject)    \
  4742.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4743.  
  4744. #define IWMPacketSize_AddRef(This)    \
  4745.     (This)->lpVtbl -> AddRef(This)
  4746.  
  4747. #define IWMPacketSize_Release(This)    \
  4748.     (This)->lpVtbl -> Release(This)
  4749.  
  4750.  
  4751. #define IWMPacketSize_GetMaxPacketSize(This,pdwMaxPacketSize)    \
  4752.     (This)->lpVtbl -> GetMaxPacketSize(This,pdwMaxPacketSize)
  4753.  
  4754. #define IWMPacketSize_SetMaxPacketSize(This,dwMaxPacketSize)    \
  4755.     (This)->lpVtbl -> SetMaxPacketSize(This,dwMaxPacketSize)
  4756.  
  4757. #endif /* COBJMACROS */
  4758.  
  4759.  
  4760. #endif     /* C style interface */
  4761.  
  4762.  
  4763.  
  4764. HRESULT STDMETHODCALLTYPE IWMPacketSize_GetMaxPacketSize_Proxy( 
  4765.     IWMPacketSize __RPC_FAR * This,
  4766.     /* [out] */ DWORD __RPC_FAR *pdwMaxPacketSize);
  4767.  
  4768.  
  4769. void __RPC_STUB IWMPacketSize_GetMaxPacketSize_Stub(
  4770.     IRpcStubBuffer *This,
  4771.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4772.     PRPC_MESSAGE _pRpcMessage,
  4773.     DWORD *_pdwStubPhase);
  4774.  
  4775.  
  4776. HRESULT STDMETHODCALLTYPE IWMPacketSize_SetMaxPacketSize_Proxy( 
  4777.     IWMPacketSize __RPC_FAR * This,
  4778.     /* [in] */ DWORD dwMaxPacketSize);
  4779.  
  4780.  
  4781. void __RPC_STUB IWMPacketSize_SetMaxPacketSize_Stub(
  4782.     IRpcStubBuffer *This,
  4783.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4784.     PRPC_MESSAGE _pRpcMessage,
  4785.     DWORD *_pdwStubPhase);
  4786.  
  4787.  
  4788.  
  4789. #endif     /* __IWMPacketSize_INTERFACE_DEFINED__ */
  4790.  
  4791.  
  4792. #ifndef __IWMStreamList_INTERFACE_DEFINED__
  4793. #define __IWMStreamList_INTERFACE_DEFINED__
  4794.  
  4795. /* interface IWMStreamList */
  4796. /* [local][unique][helpstring][uuid][object] */ 
  4797.  
  4798.  
  4799. EXTERN_C const IID IID_IWMStreamList;
  4800.  
  4801. #if defined(__cplusplus) && !defined(CINTERFACE)
  4802.     
  4803.     MIDL_INTERFACE("96406BDD-2B2B-11d3-B36B-00C04F6108FF")
  4804.     IWMStreamList : public IUnknown
  4805.     {
  4806.     public:
  4807.         virtual HRESULT STDMETHODCALLTYPE GetStreams( 
  4808.             /* [out] */ WORD __RPC_FAR *pwStreamNumArray,
  4809.             /* [out][in] */ WORD __RPC_FAR *pcStreams) = 0;
  4810.         
  4811.         virtual HRESULT STDMETHODCALLTYPE AddStream( 
  4812.             /* [in] */ WORD wStreamNum) = 0;
  4813.         
  4814.         virtual HRESULT STDMETHODCALLTYPE RemoveStream( 
  4815.             /* [in] */ WORD wStreamNum) = 0;
  4816.         
  4817.     };
  4818.     
  4819. #else     /* C style interface */
  4820.  
  4821.     typedef struct IWMStreamListVtbl
  4822.     {
  4823.         BEGIN_INTERFACE
  4824.         
  4825.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4826.             IWMStreamList __RPC_FAR * This,
  4827.             /* [in] */ REFIID riid,
  4828.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4829.         
  4830.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4831.             IWMStreamList __RPC_FAR * This);
  4832.         
  4833.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4834.             IWMStreamList __RPC_FAR * This);
  4835.         
  4836.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreams )( 
  4837.             IWMStreamList __RPC_FAR * This,
  4838.             /* [out] */ WORD __RPC_FAR *pwStreamNumArray,
  4839.             /* [out][in] */ WORD __RPC_FAR *pcStreams);
  4840.         
  4841.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddStream )( 
  4842.             IWMStreamList __RPC_FAR * This,
  4843.             /* [in] */ WORD wStreamNum);
  4844.         
  4845.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveStream )( 
  4846.             IWMStreamList __RPC_FAR * This,
  4847.             /* [in] */ WORD wStreamNum);
  4848.         
  4849.         END_INTERFACE
  4850.     } IWMStreamListVtbl;
  4851.  
  4852.     interface IWMStreamList
  4853.     {
  4854.         CONST_VTBL struct IWMStreamListVtbl __RPC_FAR *lpVtbl;
  4855.     };
  4856.  
  4857.     
  4858.  
  4859. #ifdef COBJMACROS
  4860.  
  4861.  
  4862. #define IWMStreamList_QueryInterface(This,riid,ppvObject)    \
  4863.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4864.  
  4865. #define IWMStreamList_AddRef(This)    \
  4866.     (This)->lpVtbl -> AddRef(This)
  4867.  
  4868. #define IWMStreamList_Release(This)    \
  4869.     (This)->lpVtbl -> Release(This)
  4870.  
  4871.  
  4872. #define IWMStreamList_GetStreams(This,pwStreamNumArray,pcStreams)    \
  4873.     (This)->lpVtbl -> GetStreams(This,pwStreamNumArray,pcStreams)
  4874.  
  4875. #define IWMStreamList_AddStream(This,wStreamNum)    \
  4876.     (This)->lpVtbl -> AddStream(This,wStreamNum)
  4877.  
  4878. #define IWMStreamList_RemoveStream(This,wStreamNum)    \
  4879.     (This)->lpVtbl -> RemoveStream(This,wStreamNum)
  4880.  
  4881. #endif /* COBJMACROS */
  4882.  
  4883.  
  4884. #endif     /* C style interface */
  4885.  
  4886.  
  4887.  
  4888. HRESULT STDMETHODCALLTYPE IWMStreamList_GetStreams_Proxy( 
  4889.     IWMStreamList __RPC_FAR * This,
  4890.     /* [out] */ WORD __RPC_FAR *pwStreamNumArray,
  4891.     /* [out][in] */ WORD __RPC_FAR *pcStreams);
  4892.  
  4893.  
  4894. void __RPC_STUB IWMStreamList_GetStreams_Stub(
  4895.     IRpcStubBuffer *This,
  4896.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4897.     PRPC_MESSAGE _pRpcMessage,
  4898.     DWORD *_pdwStubPhase);
  4899.  
  4900.  
  4901. HRESULT STDMETHODCALLTYPE IWMStreamList_AddStream_Proxy( 
  4902.     IWMStreamList __RPC_FAR * This,
  4903.     /* [in] */ WORD wStreamNum);
  4904.  
  4905.  
  4906. void __RPC_STUB IWMStreamList_AddStream_Stub(
  4907.     IRpcStubBuffer *This,
  4908.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4909.     PRPC_MESSAGE _pRpcMessage,
  4910.     DWORD *_pdwStubPhase);
  4911.  
  4912.  
  4913. HRESULT STDMETHODCALLTYPE IWMStreamList_RemoveStream_Proxy( 
  4914.     IWMStreamList __RPC_FAR * This,
  4915.     /* [in] */ WORD wStreamNum);
  4916.  
  4917.  
  4918. void __RPC_STUB IWMStreamList_RemoveStream_Stub(
  4919.     IRpcStubBuffer *This,
  4920.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4921.     PRPC_MESSAGE _pRpcMessage,
  4922.     DWORD *_pdwStubPhase);
  4923.  
  4924.  
  4925.  
  4926. #endif     /* __IWMStreamList_INTERFACE_DEFINED__ */
  4927.  
  4928.  
  4929. #ifndef __IWMMutualExclusion_INTERFACE_DEFINED__
  4930. #define __IWMMutualExclusion_INTERFACE_DEFINED__
  4931.  
  4932. /* interface IWMMutualExclusion */
  4933. /* [local][unique][helpstring][uuid][object] */ 
  4934.  
  4935.  
  4936. EXTERN_C const IID IID_IWMMutualExclusion;
  4937.  
  4938. #if defined(__cplusplus) && !defined(CINTERFACE)
  4939.     
  4940.     MIDL_INTERFACE("96406BDE-2B2B-11d3-B36B-00C04F6108FF")
  4941.     IWMMutualExclusion : public IWMStreamList
  4942.     {
  4943.     public:
  4944.         virtual HRESULT STDMETHODCALLTYPE GetType( 
  4945.             /* [out] */ GUID __RPC_FAR *pguidType) = 0;
  4946.         
  4947.         virtual HRESULT STDMETHODCALLTYPE SetType( 
  4948.             /* [in] */ REFGUID guidType) = 0;
  4949.         
  4950.     };
  4951.     
  4952. #else     /* C style interface */
  4953.  
  4954.     typedef struct IWMMutualExclusionVtbl
  4955.     {
  4956.         BEGIN_INTERFACE
  4957.         
  4958.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4959.             IWMMutualExclusion __RPC_FAR * This,
  4960.             /* [in] */ REFIID riid,
  4961.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4962.         
  4963.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4964.             IWMMutualExclusion __RPC_FAR * This);
  4965.         
  4966.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4967.             IWMMutualExclusion __RPC_FAR * This);
  4968.         
  4969.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreams )( 
  4970.             IWMMutualExclusion __RPC_FAR * This,
  4971.             /* [out] */ WORD __RPC_FAR *pwStreamNumArray,
  4972.             /* [out][in] */ WORD __RPC_FAR *pcStreams);
  4973.         
  4974.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddStream )( 
  4975.             IWMMutualExclusion __RPC_FAR * This,
  4976.             /* [in] */ WORD wStreamNum);
  4977.         
  4978.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveStream )( 
  4979.             IWMMutualExclusion __RPC_FAR * This,
  4980.             /* [in] */ WORD wStreamNum);
  4981.         
  4982.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetType )( 
  4983.             IWMMutualExclusion __RPC_FAR * This,
  4984.             /* [out] */ GUID __RPC_FAR *pguidType);
  4985.         
  4986.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetType )( 
  4987.             IWMMutualExclusion __RPC_FAR * This,
  4988.             /* [in] */ REFGUID guidType);
  4989.         
  4990.         END_INTERFACE
  4991.     } IWMMutualExclusionVtbl;
  4992.  
  4993.     interface IWMMutualExclusion
  4994.     {
  4995.         CONST_VTBL struct IWMMutualExclusionVtbl __RPC_FAR *lpVtbl;
  4996.     };
  4997.  
  4998.     
  4999.  
  5000. #ifdef COBJMACROS
  5001.  
  5002.  
  5003. #define IWMMutualExclusion_QueryInterface(This,riid,ppvObject)    \
  5004.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5005.  
  5006. #define IWMMutualExclusion_AddRef(This)    \
  5007.     (This)->lpVtbl -> AddRef(This)
  5008.  
  5009. #define IWMMutualExclusion_Release(This)    \
  5010.     (This)->lpVtbl -> Release(This)
  5011.  
  5012.  
  5013. #define IWMMutualExclusion_GetStreams(This,pwStreamNumArray,pcStreams)    \
  5014.     (This)->lpVtbl -> GetStreams(This,pwStreamNumArray,pcStreams)
  5015.  
  5016. #define IWMMutualExclusion_AddStream(This,wStreamNum)    \
  5017.     (This)->lpVtbl -> AddStream(This,wStreamNum)
  5018.  
  5019. #define IWMMutualExclusion_RemoveStream(This,wStreamNum)    \
  5020.     (This)->lpVtbl -> RemoveStream(This,wStreamNum)
  5021.  
  5022.  
  5023. #define IWMMutualExclusion_GetType(This,pguidType)    \
  5024.     (This)->lpVtbl -> GetType(This,pguidType)
  5025.  
  5026. #define IWMMutualExclusion_SetType(This,guidType)    \
  5027.     (This)->lpVtbl -> SetType(This,guidType)
  5028.  
  5029. #endif /* COBJMACROS */
  5030.  
  5031.  
  5032. #endif     /* C style interface */
  5033.  
  5034.  
  5035.  
  5036. HRESULT STDMETHODCALLTYPE IWMMutualExclusion_GetType_Proxy( 
  5037.     IWMMutualExclusion __RPC_FAR * This,
  5038.     /* [out] */ GUID __RPC_FAR *pguidType);
  5039.  
  5040.  
  5041. void __RPC_STUB IWMMutualExclusion_GetType_Stub(
  5042.     IRpcStubBuffer *This,
  5043.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5044.     PRPC_MESSAGE _pRpcMessage,
  5045.     DWORD *_pdwStubPhase);
  5046.  
  5047.  
  5048. HRESULT STDMETHODCALLTYPE IWMMutualExclusion_SetType_Proxy( 
  5049.     IWMMutualExclusion __RPC_FAR * This,
  5050.     /* [in] */ REFGUID guidType);
  5051.  
  5052.  
  5053. void __RPC_STUB IWMMutualExclusion_SetType_Stub(
  5054.     IRpcStubBuffer *This,
  5055.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5056.     PRPC_MESSAGE _pRpcMessage,
  5057.     DWORD *_pdwStubPhase);
  5058.  
  5059.  
  5060.  
  5061. #endif     /* __IWMMutualExclusion_INTERFACE_DEFINED__ */
  5062.  
  5063.  
  5064. #ifndef __IWMWriterAdvanced_INTERFACE_DEFINED__
  5065. #define __IWMWriterAdvanced_INTERFACE_DEFINED__
  5066.  
  5067. /* interface IWMWriterAdvanced */
  5068. /* [local][unique][helpstring][uuid][object] */ 
  5069.  
  5070.  
  5071. EXTERN_C const IID IID_IWMWriterAdvanced;
  5072.  
  5073. #if defined(__cplusplus) && !defined(CINTERFACE)
  5074.     
  5075.     MIDL_INTERFACE("96406BE3-2B2B-11d3-B36B-00C04F6108FF")
  5076.     IWMWriterAdvanced : public IUnknown
  5077.     {
  5078.     public:
  5079.         virtual HRESULT STDMETHODCALLTYPE GetSinkCount( 
  5080.             /* [out] */ DWORD __RPC_FAR *pcSinks) = 0;
  5081.         
  5082.         virtual HRESULT STDMETHODCALLTYPE GetSink( 
  5083.             /* [in] */ DWORD dwSinkNum,
  5084.             /* [out] */ IWMWriterSink __RPC_FAR *__RPC_FAR *ppSink) = 0;
  5085.         
  5086.         virtual HRESULT STDMETHODCALLTYPE AddSink( 
  5087.             /* [in] */ IWMWriterSink __RPC_FAR *pSink) = 0;
  5088.         
  5089.         virtual HRESULT STDMETHODCALLTYPE RemoveSink( 
  5090.             /* [in] */ IWMWriterSink __RPC_FAR *pSink) = 0;
  5091.         
  5092.         virtual HRESULT STDMETHODCALLTYPE WriteStreamSample( 
  5093.             /* [in] */ WORD wStreamNum,
  5094.             /* [in] */ QWORD cnsSampleTime,
  5095.             /* [in] */ DWORD msSampleSendTime,
  5096.             /* [in] */ QWORD cnsSampleDuration,
  5097.             /* [in] */ DWORD dwFlags,
  5098.             /* [in] */ INSSBuffer __RPC_FAR *pSample) = 0;
  5099.         
  5100.         virtual HRESULT STDMETHODCALLTYPE SetLiveSource( 
  5101.             BOOL fIsLiveSource) = 0;
  5102.         
  5103.         virtual HRESULT STDMETHODCALLTYPE IsRealTime( 
  5104.             /* [out] */ BOOL __RPC_FAR *pfRealTime) = 0;
  5105.         
  5106.         virtual HRESULT STDMETHODCALLTYPE GetWriterTime( 
  5107.             /* [out] */ QWORD __RPC_FAR *pcnsCurrentTime) = 0;
  5108.         
  5109.         virtual HRESULT STDMETHODCALLTYPE GetStatistics( 
  5110.             /* [in] */ WORD wStreamNum,
  5111.             /* [out] */ WM_WRITER_STATISTICS __RPC_FAR *pStats) = 0;
  5112.         
  5113.         virtual HRESULT STDMETHODCALLTYPE SetSyncTolerance( 
  5114.             /* [in] */ DWORD msWindow) = 0;
  5115.         
  5116.         virtual HRESULT STDMETHODCALLTYPE GetSyncTolerance( 
  5117.             /* [out] */ DWORD __RPC_FAR *pmsWindow) = 0;
  5118.         
  5119.     };
  5120.     
  5121. #else     /* C style interface */
  5122.  
  5123.     typedef struct IWMWriterAdvancedVtbl
  5124.     {
  5125.         BEGIN_INTERFACE
  5126.         
  5127.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5128.             IWMWriterAdvanced __RPC_FAR * This,
  5129.             /* [in] */ REFIID riid,
  5130.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5131.         
  5132.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5133.             IWMWriterAdvanced __RPC_FAR * This);
  5134.         
  5135.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5136.             IWMWriterAdvanced __RPC_FAR * This);
  5137.         
  5138.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSinkCount )( 
  5139.             IWMWriterAdvanced __RPC_FAR * This,
  5140.             /* [out] */ DWORD __RPC_FAR *pcSinks);
  5141.         
  5142.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSink )( 
  5143.             IWMWriterAdvanced __RPC_FAR * This,
  5144.             /* [in] */ DWORD dwSinkNum,
  5145.             /* [out] */ IWMWriterSink __RPC_FAR *__RPC_FAR *ppSink);
  5146.         
  5147.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSink )( 
  5148.             IWMWriterAdvanced __RPC_FAR * This,
  5149.             /* [in] */ IWMWriterSink __RPC_FAR *pSink);
  5150.         
  5151.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveSink )( 
  5152.             IWMWriterAdvanced __RPC_FAR * This,
  5153.             /* [in] */ IWMWriterSink __RPC_FAR *pSink);
  5154.         
  5155.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteStreamSample )( 
  5156.             IWMWriterAdvanced __RPC_FAR * This,
  5157.             /* [in] */ WORD wStreamNum,
  5158.             /* [in] */ QWORD cnsSampleTime,
  5159.             /* [in] */ DWORD msSampleSendTime,
  5160.             /* [in] */ QWORD cnsSampleDuration,
  5161.             /* [in] */ DWORD dwFlags,
  5162.             /* [in] */ INSSBuffer __RPC_FAR *pSample);
  5163.         
  5164.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLiveSource )( 
  5165.             IWMWriterAdvanced __RPC_FAR * This,
  5166.             BOOL fIsLiveSource);
  5167.         
  5168.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsRealTime )( 
  5169.             IWMWriterAdvanced __RPC_FAR * This,
  5170.             /* [out] */ BOOL __RPC_FAR *pfRealTime);
  5171.         
  5172.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetWriterTime )( 
  5173.             IWMWriterAdvanced __RPC_FAR * This,
  5174.             /* [out] */ QWORD __RPC_FAR *pcnsCurrentTime);
  5175.         
  5176.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatistics )( 
  5177.             IWMWriterAdvanced __RPC_FAR * This,
  5178.             /* [in] */ WORD wStreamNum,
  5179.             /* [out] */ WM_WRITER_STATISTICS __RPC_FAR *pStats);
  5180.         
  5181.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSyncTolerance )( 
  5182.             IWMWriterAdvanced __RPC_FAR * This,
  5183.             /* [in] */ DWORD msWindow);
  5184.         
  5185.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSyncTolerance )( 
  5186.             IWMWriterAdvanced __RPC_FAR * This,
  5187.             /* [out] */ DWORD __RPC_FAR *pmsWindow);
  5188.         
  5189.         END_INTERFACE
  5190.     } IWMWriterAdvancedVtbl;
  5191.  
  5192.     interface IWMWriterAdvanced
  5193.     {
  5194.         CONST_VTBL struct IWMWriterAdvancedVtbl __RPC_FAR *lpVtbl;
  5195.     };
  5196.  
  5197.     
  5198.  
  5199. #ifdef COBJMACROS
  5200.  
  5201.  
  5202. #define IWMWriterAdvanced_QueryInterface(This,riid,ppvObject)    \
  5203.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5204.  
  5205. #define IWMWriterAdvanced_AddRef(This)    \
  5206.     (This)->lpVtbl -> AddRef(This)
  5207.  
  5208. #define IWMWriterAdvanced_Release(This)    \
  5209.     (This)->lpVtbl -> Release(This)
  5210.  
  5211.  
  5212. #define IWMWriterAdvanced_GetSinkCount(This,pcSinks)    \
  5213.     (This)->lpVtbl -> GetSinkCount(This,pcSinks)
  5214.  
  5215. #define IWMWriterAdvanced_GetSink(This,dwSinkNum,ppSink)    \
  5216.     (This)->lpVtbl -> GetSink(This,dwSinkNum,ppSink)
  5217.  
  5218. #define IWMWriterAdvanced_AddSink(This,pSink)    \
  5219.     (This)->lpVtbl -> AddSink(This,pSink)
  5220.  
  5221. #define IWMWriterAdvanced_RemoveSink(This,pSink)    \
  5222.     (This)->lpVtbl -> RemoveSink(This,pSink)
  5223.  
  5224. #define IWMWriterAdvanced_WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample)    \
  5225.     (This)->lpVtbl -> WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample)
  5226.  
  5227. #define IWMWriterAdvanced_SetLiveSource(This,fIsLiveSource)    \
  5228.     (This)->lpVtbl -> SetLiveSource(This,fIsLiveSource)
  5229.  
  5230. #define IWMWriterAdvanced_IsRealTime(This,pfRealTime)    \
  5231.     (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  5232.  
  5233. #define IWMWriterAdvanced_GetWriterTime(This,pcnsCurrentTime)    \
  5234.     (This)->lpVtbl -> GetWriterTime(This,pcnsCurrentTime)
  5235.  
  5236. #define IWMWriterAdvanced_GetStatistics(This,wStreamNum,pStats)    \
  5237.     (This)->lpVtbl -> GetStatistics(This,wStreamNum,pStats)
  5238.  
  5239. #define IWMWriterAdvanced_SetSyncTolerance(This,msWindow)    \
  5240.     (This)->lpVtbl -> SetSyncTolerance(This,msWindow)
  5241.  
  5242. #define IWMWriterAdvanced_GetSyncTolerance(This,pmsWindow)    \
  5243.     (This)->lpVtbl -> GetSyncTolerance(This,pmsWindow)
  5244.  
  5245. #endif /* COBJMACROS */
  5246.  
  5247.  
  5248. #endif     /* C style interface */
  5249.  
  5250.  
  5251.  
  5252. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_GetSinkCount_Proxy( 
  5253.     IWMWriterAdvanced __RPC_FAR * This,
  5254.     /* [out] */ DWORD __RPC_FAR *pcSinks);
  5255.  
  5256.  
  5257. void __RPC_STUB IWMWriterAdvanced_GetSinkCount_Stub(
  5258.     IRpcStubBuffer *This,
  5259.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5260.     PRPC_MESSAGE _pRpcMessage,
  5261.     DWORD *_pdwStubPhase);
  5262.  
  5263.  
  5264. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_GetSink_Proxy( 
  5265.     IWMWriterAdvanced __RPC_FAR * This,
  5266.     /* [in] */ DWORD dwSinkNum,
  5267.     /* [out] */ IWMWriterSink __RPC_FAR *__RPC_FAR *ppSink);
  5268.  
  5269.  
  5270. void __RPC_STUB IWMWriterAdvanced_GetSink_Stub(
  5271.     IRpcStubBuffer *This,
  5272.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5273.     PRPC_MESSAGE _pRpcMessage,
  5274.     DWORD *_pdwStubPhase);
  5275.  
  5276.  
  5277. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_AddSink_Proxy( 
  5278.     IWMWriterAdvanced __RPC_FAR * This,
  5279.     /* [in] */ IWMWriterSink __RPC_FAR *pSink);
  5280.  
  5281.  
  5282. void __RPC_STUB IWMWriterAdvanced_AddSink_Stub(
  5283.     IRpcStubBuffer *This,
  5284.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5285.     PRPC_MESSAGE _pRpcMessage,
  5286.     DWORD *_pdwStubPhase);
  5287.  
  5288.  
  5289. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_RemoveSink_Proxy( 
  5290.     IWMWriterAdvanced __RPC_FAR * This,
  5291.     /* [in] */ IWMWriterSink __RPC_FAR *pSink);
  5292.  
  5293.  
  5294. void __RPC_STUB IWMWriterAdvanced_RemoveSink_Stub(
  5295.     IRpcStubBuffer *This,
  5296.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5297.     PRPC_MESSAGE _pRpcMessage,
  5298.     DWORD *_pdwStubPhase);
  5299.  
  5300.  
  5301. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_WriteStreamSample_Proxy( 
  5302.     IWMWriterAdvanced __RPC_FAR * This,
  5303.     /* [in] */ WORD wStreamNum,
  5304.     /* [in] */ QWORD cnsSampleTime,
  5305.     /* [in] */ DWORD msSampleSendTime,
  5306.     /* [in] */ QWORD cnsSampleDuration,
  5307.     /* [in] */ DWORD dwFlags,
  5308.     /* [in] */ INSSBuffer __RPC_FAR *pSample);
  5309.  
  5310.  
  5311. void __RPC_STUB IWMWriterAdvanced_WriteStreamSample_Stub(
  5312.     IRpcStubBuffer *This,
  5313.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5314.     PRPC_MESSAGE _pRpcMessage,
  5315.     DWORD *_pdwStubPhase);
  5316.  
  5317.  
  5318. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_SetLiveSource_Proxy( 
  5319.     IWMWriterAdvanced __RPC_FAR * This,
  5320.     BOOL fIsLiveSource);
  5321.  
  5322.  
  5323. void __RPC_STUB IWMWriterAdvanced_SetLiveSource_Stub(
  5324.     IRpcStubBuffer *This,
  5325.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5326.     PRPC_MESSAGE _pRpcMessage,
  5327.     DWORD *_pdwStubPhase);
  5328.  
  5329.  
  5330. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_IsRealTime_Proxy( 
  5331.     IWMWriterAdvanced __RPC_FAR * This,
  5332.     /* [out] */ BOOL __RPC_FAR *pfRealTime);
  5333.  
  5334.  
  5335. void __RPC_STUB IWMWriterAdvanced_IsRealTime_Stub(
  5336.     IRpcStubBuffer *This,
  5337.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5338.     PRPC_MESSAGE _pRpcMessage,
  5339.     DWORD *_pdwStubPhase);
  5340.  
  5341.  
  5342. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_GetWriterTime_Proxy( 
  5343.     IWMWriterAdvanced __RPC_FAR * This,
  5344.     /* [out] */ QWORD __RPC_FAR *pcnsCurrentTime);
  5345.  
  5346.  
  5347. void __RPC_STUB IWMWriterAdvanced_GetWriterTime_Stub(
  5348.     IRpcStubBuffer *This,
  5349.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5350.     PRPC_MESSAGE _pRpcMessage,
  5351.     DWORD *_pdwStubPhase);
  5352.  
  5353.  
  5354. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_GetStatistics_Proxy( 
  5355.     IWMWriterAdvanced __RPC_FAR * This,
  5356.     /* [in] */ WORD wStreamNum,
  5357.     /* [out] */ WM_WRITER_STATISTICS __RPC_FAR *pStats);
  5358.  
  5359.  
  5360. void __RPC_STUB IWMWriterAdvanced_GetStatistics_Stub(
  5361.     IRpcStubBuffer *This,
  5362.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5363.     PRPC_MESSAGE _pRpcMessage,
  5364.     DWORD *_pdwStubPhase);
  5365.  
  5366.  
  5367. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_SetSyncTolerance_Proxy( 
  5368.     IWMWriterAdvanced __RPC_FAR * This,
  5369.     /* [in] */ DWORD msWindow);
  5370.  
  5371.  
  5372. void __RPC_STUB IWMWriterAdvanced_SetSyncTolerance_Stub(
  5373.     IRpcStubBuffer *This,
  5374.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5375.     PRPC_MESSAGE _pRpcMessage,
  5376.     DWORD *_pdwStubPhase);
  5377.  
  5378.  
  5379. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced_GetSyncTolerance_Proxy( 
  5380.     IWMWriterAdvanced __RPC_FAR * This,
  5381.     /* [out] */ DWORD __RPC_FAR *pmsWindow);
  5382.  
  5383.  
  5384. void __RPC_STUB IWMWriterAdvanced_GetSyncTolerance_Stub(
  5385.     IRpcStubBuffer *This,
  5386.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5387.     PRPC_MESSAGE _pRpcMessage,
  5388.     DWORD *_pdwStubPhase);
  5389.  
  5390.  
  5391.  
  5392. #endif     /* __IWMWriterAdvanced_INTERFACE_DEFINED__ */
  5393.  
  5394.  
  5395. #ifndef __IWMWriterAdvanced2_INTERFACE_DEFINED__
  5396. #define __IWMWriterAdvanced2_INTERFACE_DEFINED__
  5397.  
  5398. /* interface IWMWriterAdvanced2 */
  5399. /* [local][unique][helpstring][uuid][object] */ 
  5400.  
  5401.  
  5402. EXTERN_C const IID IID_IWMWriterAdvanced2;
  5403.  
  5404. #if defined(__cplusplus) && !defined(CINTERFACE)
  5405.     
  5406.     MIDL_INTERFACE("962dc1ec-c046-4db8-9cc7-26ceae500817")
  5407.     IWMWriterAdvanced2 : public IWMWriterAdvanced
  5408.     {
  5409.     public:
  5410.         virtual HRESULT STDMETHODCALLTYPE GetInputSetting( 
  5411.             /* [in] */ DWORD dwInputNum,
  5412.             /* [in] */ LPCWSTR pszName,
  5413.             /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  5414.             /* [out] */ BYTE __RPC_FAR *pValue,
  5415.             /* [out][in] */ WORD __RPC_FAR *pcbLength) = 0;
  5416.         
  5417.         virtual HRESULT STDMETHODCALLTYPE SetInputSetting( 
  5418.             /* [in] */ DWORD dwInputNum,
  5419.             /* [in] */ LPCWSTR pszName,
  5420.             /* [in] */ WMT_ATTR_DATATYPE Type,
  5421.             /* [in] */ const BYTE __RPC_FAR *pValue,
  5422.             /* [in] */ WORD cbLength) = 0;
  5423.         
  5424.     };
  5425.     
  5426. #else     /* C style interface */
  5427.  
  5428.     typedef struct IWMWriterAdvanced2Vtbl
  5429.     {
  5430.         BEGIN_INTERFACE
  5431.         
  5432.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5433.             IWMWriterAdvanced2 __RPC_FAR * This,
  5434.             /* [in] */ REFIID riid,
  5435.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5436.         
  5437.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5438.             IWMWriterAdvanced2 __RPC_FAR * This);
  5439.         
  5440.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5441.             IWMWriterAdvanced2 __RPC_FAR * This);
  5442.         
  5443.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSinkCount )( 
  5444.             IWMWriterAdvanced2 __RPC_FAR * This,
  5445.             /* [out] */ DWORD __RPC_FAR *pcSinks);
  5446.         
  5447.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSink )( 
  5448.             IWMWriterAdvanced2 __RPC_FAR * This,
  5449.             /* [in] */ DWORD dwSinkNum,
  5450.             /* [out] */ IWMWriterSink __RPC_FAR *__RPC_FAR *ppSink);
  5451.         
  5452.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSink )( 
  5453.             IWMWriterAdvanced2 __RPC_FAR * This,
  5454.             /* [in] */ IWMWriterSink __RPC_FAR *pSink);
  5455.         
  5456.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveSink )( 
  5457.             IWMWriterAdvanced2 __RPC_FAR * This,
  5458.             /* [in] */ IWMWriterSink __RPC_FAR *pSink);
  5459.         
  5460.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteStreamSample )( 
  5461.             IWMWriterAdvanced2 __RPC_FAR * This,
  5462.             /* [in] */ WORD wStreamNum,
  5463.             /* [in] */ QWORD cnsSampleTime,
  5464.             /* [in] */ DWORD msSampleSendTime,
  5465.             /* [in] */ QWORD cnsSampleDuration,
  5466.             /* [in] */ DWORD dwFlags,
  5467.             /* [in] */ INSSBuffer __RPC_FAR *pSample);
  5468.         
  5469.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLiveSource )( 
  5470.             IWMWriterAdvanced2 __RPC_FAR * This,
  5471.             BOOL fIsLiveSource);
  5472.         
  5473.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsRealTime )( 
  5474.             IWMWriterAdvanced2 __RPC_FAR * This,
  5475.             /* [out] */ BOOL __RPC_FAR *pfRealTime);
  5476.         
  5477.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetWriterTime )( 
  5478.             IWMWriterAdvanced2 __RPC_FAR * This,
  5479.             /* [out] */ QWORD __RPC_FAR *pcnsCurrentTime);
  5480.         
  5481.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatistics )( 
  5482.             IWMWriterAdvanced2 __RPC_FAR * This,
  5483.             /* [in] */ WORD wStreamNum,
  5484.             /* [out] */ WM_WRITER_STATISTICS __RPC_FAR *pStats);
  5485.         
  5486.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSyncTolerance )( 
  5487.             IWMWriterAdvanced2 __RPC_FAR * This,
  5488.             /* [in] */ DWORD msWindow);
  5489.         
  5490.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSyncTolerance )( 
  5491.             IWMWriterAdvanced2 __RPC_FAR * This,
  5492.             /* [out] */ DWORD __RPC_FAR *pmsWindow);
  5493.         
  5494.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInputSetting )( 
  5495.             IWMWriterAdvanced2 __RPC_FAR * This,
  5496.             /* [in] */ DWORD dwInputNum,
  5497.             /* [in] */ LPCWSTR pszName,
  5498.             /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  5499.             /* [out] */ BYTE __RPC_FAR *pValue,
  5500.             /* [out][in] */ WORD __RPC_FAR *pcbLength);
  5501.         
  5502.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetInputSetting )( 
  5503.             IWMWriterAdvanced2 __RPC_FAR * This,
  5504.             /* [in] */ DWORD dwInputNum,
  5505.             /* [in] */ LPCWSTR pszName,
  5506.             /* [in] */ WMT_ATTR_DATATYPE Type,
  5507.             /* [in] */ const BYTE __RPC_FAR *pValue,
  5508.             /* [in] */ WORD cbLength);
  5509.         
  5510.         END_INTERFACE
  5511.     } IWMWriterAdvanced2Vtbl;
  5512.  
  5513.     interface IWMWriterAdvanced2
  5514.     {
  5515.         CONST_VTBL struct IWMWriterAdvanced2Vtbl __RPC_FAR *lpVtbl;
  5516.     };
  5517.  
  5518.     
  5519.  
  5520. #ifdef COBJMACROS
  5521.  
  5522.  
  5523. #define IWMWriterAdvanced2_QueryInterface(This,riid,ppvObject)    \
  5524.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5525.  
  5526. #define IWMWriterAdvanced2_AddRef(This)    \
  5527.     (This)->lpVtbl -> AddRef(This)
  5528.  
  5529. #define IWMWriterAdvanced2_Release(This)    \
  5530.     (This)->lpVtbl -> Release(This)
  5531.  
  5532.  
  5533. #define IWMWriterAdvanced2_GetSinkCount(This,pcSinks)    \
  5534.     (This)->lpVtbl -> GetSinkCount(This,pcSinks)
  5535.  
  5536. #define IWMWriterAdvanced2_GetSink(This,dwSinkNum,ppSink)    \
  5537.     (This)->lpVtbl -> GetSink(This,dwSinkNum,ppSink)
  5538.  
  5539. #define IWMWriterAdvanced2_AddSink(This,pSink)    \
  5540.     (This)->lpVtbl -> AddSink(This,pSink)
  5541.  
  5542. #define IWMWriterAdvanced2_RemoveSink(This,pSink)    \
  5543.     (This)->lpVtbl -> RemoveSink(This,pSink)
  5544.  
  5545. #define IWMWriterAdvanced2_WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample)    \
  5546.     (This)->lpVtbl -> WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample)
  5547.  
  5548. #define IWMWriterAdvanced2_SetLiveSource(This,fIsLiveSource)    \
  5549.     (This)->lpVtbl -> SetLiveSource(This,fIsLiveSource)
  5550.  
  5551. #define IWMWriterAdvanced2_IsRealTime(This,pfRealTime)    \
  5552.     (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  5553.  
  5554. #define IWMWriterAdvanced2_GetWriterTime(This,pcnsCurrentTime)    \
  5555.     (This)->lpVtbl -> GetWriterTime(This,pcnsCurrentTime)
  5556.  
  5557. #define IWMWriterAdvanced2_GetStatistics(This,wStreamNum,pStats)    \
  5558.     (This)->lpVtbl -> GetStatistics(This,wStreamNum,pStats)
  5559.  
  5560. #define IWMWriterAdvanced2_SetSyncTolerance(This,msWindow)    \
  5561.     (This)->lpVtbl -> SetSyncTolerance(This,msWindow)
  5562.  
  5563. #define IWMWriterAdvanced2_GetSyncTolerance(This,pmsWindow)    \
  5564.     (This)->lpVtbl -> GetSyncTolerance(This,pmsWindow)
  5565.  
  5566.  
  5567. #define IWMWriterAdvanced2_GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength)    \
  5568.     (This)->lpVtbl -> GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength)
  5569.  
  5570. #define IWMWriterAdvanced2_SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength)    \
  5571.     (This)->lpVtbl -> SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength)
  5572.  
  5573. #endif /* COBJMACROS */
  5574.  
  5575.  
  5576. #endif     /* C style interface */
  5577.  
  5578.  
  5579.  
  5580. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced2_GetInputSetting_Proxy( 
  5581.     IWMWriterAdvanced2 __RPC_FAR * This,
  5582.     /* [in] */ DWORD dwInputNum,
  5583.     /* [in] */ LPCWSTR pszName,
  5584.     /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  5585.     /* [out] */ BYTE __RPC_FAR *pValue,
  5586.     /* [out][in] */ WORD __RPC_FAR *pcbLength);
  5587.  
  5588.  
  5589. void __RPC_STUB IWMWriterAdvanced2_GetInputSetting_Stub(
  5590.     IRpcStubBuffer *This,
  5591.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5592.     PRPC_MESSAGE _pRpcMessage,
  5593.     DWORD *_pdwStubPhase);
  5594.  
  5595.  
  5596. HRESULT STDMETHODCALLTYPE IWMWriterAdvanced2_SetInputSetting_Proxy( 
  5597.     IWMWriterAdvanced2 __RPC_FAR * This,
  5598.     /* [in] */ DWORD dwInputNum,
  5599.     /* [in] */ LPCWSTR pszName,
  5600.     /* [in] */ WMT_ATTR_DATATYPE Type,
  5601.     /* [in] */ const BYTE __RPC_FAR *pValue,
  5602.     /* [in] */ WORD cbLength);
  5603.  
  5604.  
  5605. void __RPC_STUB IWMWriterAdvanced2_SetInputSetting_Stub(
  5606.     IRpcStubBuffer *This,
  5607.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5608.     PRPC_MESSAGE _pRpcMessage,
  5609.     DWORD *_pdwStubPhase);
  5610.  
  5611.  
  5612.  
  5613. #endif     /* __IWMWriterAdvanced2_INTERFACE_DEFINED__ */
  5614.  
  5615.  
  5616. #ifndef __IWMWriterPostViewCallback_INTERFACE_DEFINED__
  5617. #define __IWMWriterPostViewCallback_INTERFACE_DEFINED__
  5618.  
  5619. /* interface IWMWriterPostViewCallback */
  5620. /* [local][unique][helpstring][uuid][object] */ 
  5621.  
  5622.  
  5623. EXTERN_C const IID IID_IWMWriterPostViewCallback;
  5624.  
  5625. #if defined(__cplusplus) && !defined(CINTERFACE)
  5626.     
  5627.     MIDL_INTERFACE("D9D6549D-A193-4f24-B308-03123D9B7F8D")
  5628.     IWMWriterPostViewCallback : public IWMStatusCallback
  5629.     {
  5630.     public:
  5631.         virtual HRESULT STDMETHODCALLTYPE OnPostViewSample( 
  5632.             /* [in] */ WORD wStreamNumber,
  5633.             /* [in] */ QWORD cnsSampleTime,
  5634.             /* [in] */ QWORD cnsSampleDuration,
  5635.             /* [in] */ DWORD dwFlags,
  5636.             /* [in] */ INSSBuffer __RPC_FAR *pSample,
  5637.             /* [in] */ void __RPC_FAR *pvContext) = 0;
  5638.         
  5639.         virtual HRESULT STDMETHODCALLTYPE AllocateForPostView( 
  5640.             /* [in] */ WORD wStreamNum,
  5641.             /* [in] */ DWORD cbBuffer,
  5642.             /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  5643.             /* [in] */ void __RPC_FAR *pvContext) = 0;
  5644.         
  5645.     };
  5646.     
  5647. #else     /* C style interface */
  5648.  
  5649.     typedef struct IWMWriterPostViewCallbackVtbl
  5650.     {
  5651.         BEGIN_INTERFACE
  5652.         
  5653.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5654.             IWMWriterPostViewCallback __RPC_FAR * This,
  5655.             /* [in] */ REFIID riid,
  5656.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5657.         
  5658.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5659.             IWMWriterPostViewCallback __RPC_FAR * This);
  5660.         
  5661.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5662.             IWMWriterPostViewCallback __RPC_FAR * This);
  5663.         
  5664.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnStatus )( 
  5665.             IWMWriterPostViewCallback __RPC_FAR * This,
  5666.             /* [in] */ WMT_STATUS Status,
  5667.             /* [in] */ HRESULT hr,
  5668.             /* [in] */ WMT_ATTR_DATATYPE dwType,
  5669.             /* [in] */ BYTE __RPC_FAR *pValue,
  5670.             /* [in] */ void __RPC_FAR *pvContext);
  5671.         
  5672.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnPostViewSample )( 
  5673.             IWMWriterPostViewCallback __RPC_FAR * This,
  5674.             /* [in] */ WORD wStreamNumber,
  5675.             /* [in] */ QWORD cnsSampleTime,
  5676.             /* [in] */ QWORD cnsSampleDuration,
  5677.             /* [in] */ DWORD dwFlags,
  5678.             /* [in] */ INSSBuffer __RPC_FAR *pSample,
  5679.             /* [in] */ void __RPC_FAR *pvContext);
  5680.         
  5681.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateForPostView )( 
  5682.             IWMWriterPostViewCallback __RPC_FAR * This,
  5683.             /* [in] */ WORD wStreamNum,
  5684.             /* [in] */ DWORD cbBuffer,
  5685.             /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  5686.             /* [in] */ void __RPC_FAR *pvContext);
  5687.         
  5688.         END_INTERFACE
  5689.     } IWMWriterPostViewCallbackVtbl;
  5690.  
  5691.     interface IWMWriterPostViewCallback
  5692.     {
  5693.         CONST_VTBL struct IWMWriterPostViewCallbackVtbl __RPC_FAR *lpVtbl;
  5694.     };
  5695.  
  5696.     
  5697.  
  5698. #ifdef COBJMACROS
  5699.  
  5700.  
  5701. #define IWMWriterPostViewCallback_QueryInterface(This,riid,ppvObject)    \
  5702.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5703.  
  5704. #define IWMWriterPostViewCallback_AddRef(This)    \
  5705.     (This)->lpVtbl -> AddRef(This)
  5706.  
  5707. #define IWMWriterPostViewCallback_Release(This)    \
  5708.     (This)->lpVtbl -> Release(This)
  5709.  
  5710.  
  5711. #define IWMWriterPostViewCallback_OnStatus(This,Status,hr,dwType,pValue,pvContext)    \
  5712.     (This)->lpVtbl -> OnStatus(This,Status,hr,dwType,pValue,pvContext)
  5713.  
  5714.  
  5715. #define IWMWriterPostViewCallback_OnPostViewSample(This,wStreamNumber,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext)    \
  5716.     (This)->lpVtbl -> OnPostViewSample(This,wStreamNumber,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext)
  5717.  
  5718. #define IWMWriterPostViewCallback_AllocateForPostView(This,wStreamNum,cbBuffer,ppBuffer,pvContext)    \
  5719.     (This)->lpVtbl -> AllocateForPostView(This,wStreamNum,cbBuffer,ppBuffer,pvContext)
  5720.  
  5721. #endif /* COBJMACROS */
  5722.  
  5723.  
  5724. #endif     /* C style interface */
  5725.  
  5726.  
  5727.  
  5728. HRESULT STDMETHODCALLTYPE IWMWriterPostViewCallback_OnPostViewSample_Proxy( 
  5729.     IWMWriterPostViewCallback __RPC_FAR * This,
  5730.     /* [in] */ WORD wStreamNumber,
  5731.     /* [in] */ QWORD cnsSampleTime,
  5732.     /* [in] */ QWORD cnsSampleDuration,
  5733.     /* [in] */ DWORD dwFlags,
  5734.     /* [in] */ INSSBuffer __RPC_FAR *pSample,
  5735.     /* [in] */ void __RPC_FAR *pvContext);
  5736.  
  5737.  
  5738. void __RPC_STUB IWMWriterPostViewCallback_OnPostViewSample_Stub(
  5739.     IRpcStubBuffer *This,
  5740.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5741.     PRPC_MESSAGE _pRpcMessage,
  5742.     DWORD *_pdwStubPhase);
  5743.  
  5744.  
  5745. HRESULT STDMETHODCALLTYPE IWMWriterPostViewCallback_AllocateForPostView_Proxy( 
  5746.     IWMWriterPostViewCallback __RPC_FAR * This,
  5747.     /* [in] */ WORD wStreamNum,
  5748.     /* [in] */ DWORD cbBuffer,
  5749.     /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  5750.     /* [in] */ void __RPC_FAR *pvContext);
  5751.  
  5752.  
  5753. void __RPC_STUB IWMWriterPostViewCallback_AllocateForPostView_Stub(
  5754.     IRpcStubBuffer *This,
  5755.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5756.     PRPC_MESSAGE _pRpcMessage,
  5757.     DWORD *_pdwStubPhase);
  5758.  
  5759.  
  5760.  
  5761. #endif     /* __IWMWriterPostViewCallback_INTERFACE_DEFINED__ */
  5762.  
  5763.  
  5764. #ifndef __IWMWriterPostView_INTERFACE_DEFINED__
  5765. #define __IWMWriterPostView_INTERFACE_DEFINED__
  5766.  
  5767. /* interface IWMWriterPostView */
  5768. /* [local][unique][helpstring][uuid][object] */ 
  5769.  
  5770.  
  5771. EXTERN_C const IID IID_IWMWriterPostView;
  5772.  
  5773. #if defined(__cplusplus) && !defined(CINTERFACE)
  5774.     
  5775.     MIDL_INTERFACE("81E20CE4-75EF-491a-8004-FC53C45BDC3E")
  5776.     IWMWriterPostView : public IUnknown
  5777.     {
  5778.     public:
  5779.         virtual HRESULT STDMETHODCALLTYPE SetPostViewCallback( 
  5780.             IWMWriterPostViewCallback __RPC_FAR *pCallback,
  5781.             void __RPC_FAR *pvContext) = 0;
  5782.         
  5783.         virtual HRESULT STDMETHODCALLTYPE SetReceivePostViewSamples( 
  5784.             /* [in] */ WORD wStreamNum,
  5785.             /* [in] */ BOOL fReceivePostViewSamples) = 0;
  5786.         
  5787.         virtual HRESULT STDMETHODCALLTYPE GetReceivePostViewSamples( 
  5788.             /* [in] */ WORD wStreamNum,
  5789.             /* [out] */ BOOL __RPC_FAR *pfReceivePostViewSamples) = 0;
  5790.         
  5791.         virtual HRESULT STDMETHODCALLTYPE GetPostViewProps( 
  5792.             /* [in] */ WORD wStreamNumber,
  5793.             /* [out] */ IWMMediaProps __RPC_FAR *__RPC_FAR *ppOutput) = 0;
  5794.         
  5795.         virtual HRESULT STDMETHODCALLTYPE SetPostViewProps( 
  5796.             /* [in] */ WORD wStreamNumber,
  5797.             /* [in] */ IWMMediaProps __RPC_FAR *pOutput) = 0;
  5798.         
  5799.         virtual HRESULT STDMETHODCALLTYPE GetPostViewFormatCount( 
  5800.             /* [in] */ WORD wStreamNumber,
  5801.             /* [out] */ DWORD __RPC_FAR *pcFormats) = 0;
  5802.         
  5803.         virtual HRESULT STDMETHODCALLTYPE GetPostViewFormat( 
  5804.             /* [in] */ WORD wStreamNumber,
  5805.             /* [in] */ DWORD dwFormatNumber,
  5806.             /* [out] */ IWMMediaProps __RPC_FAR *__RPC_FAR *ppProps) = 0;
  5807.         
  5808.         virtual HRESULT STDMETHODCALLTYPE SetAllocateForPostView( 
  5809.             /* [in] */ WORD wStreamNumber,
  5810.             /* [in] */ BOOL fAllocate) = 0;
  5811.         
  5812.         virtual HRESULT STDMETHODCALLTYPE GetAllocateForPostView( 
  5813.             /* [in] */ WORD wStreamNumber,
  5814.             /* [out] */ BOOL __RPC_FAR *pfAllocate) = 0;
  5815.         
  5816.     };
  5817.     
  5818. #else     /* C style interface */
  5819.  
  5820.     typedef struct IWMWriterPostViewVtbl
  5821.     {
  5822.         BEGIN_INTERFACE
  5823.         
  5824.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5825.             IWMWriterPostView __RPC_FAR * This,
  5826.             /* [in] */ REFIID riid,
  5827.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5828.         
  5829.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5830.             IWMWriterPostView __RPC_FAR * This);
  5831.         
  5832.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5833.             IWMWriterPostView __RPC_FAR * This);
  5834.         
  5835.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPostViewCallback )( 
  5836.             IWMWriterPostView __RPC_FAR * This,
  5837.             IWMWriterPostViewCallback __RPC_FAR *pCallback,
  5838.             void __RPC_FAR *pvContext);
  5839.         
  5840.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetReceivePostViewSamples )( 
  5841.             IWMWriterPostView __RPC_FAR * This,
  5842.             /* [in] */ WORD wStreamNum,
  5843.             /* [in] */ BOOL fReceivePostViewSamples);
  5844.         
  5845.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetReceivePostViewSamples )( 
  5846.             IWMWriterPostView __RPC_FAR * This,
  5847.             /* [in] */ WORD wStreamNum,
  5848.             /* [out] */ BOOL __RPC_FAR *pfReceivePostViewSamples);
  5849.         
  5850.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPostViewProps )( 
  5851.             IWMWriterPostView __RPC_FAR * This,
  5852.             /* [in] */ WORD wStreamNumber,
  5853.             /* [out] */ IWMMediaProps __RPC_FAR *__RPC_FAR *ppOutput);
  5854.         
  5855.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPostViewProps )( 
  5856.             IWMWriterPostView __RPC_FAR * This,
  5857.             /* [in] */ WORD wStreamNumber,
  5858.             /* [in] */ IWMMediaProps __RPC_FAR *pOutput);
  5859.         
  5860.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPostViewFormatCount )( 
  5861.             IWMWriterPostView __RPC_FAR * This,
  5862.             /* [in] */ WORD wStreamNumber,
  5863.             /* [out] */ DWORD __RPC_FAR *pcFormats);
  5864.         
  5865.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPostViewFormat )( 
  5866.             IWMWriterPostView __RPC_FAR * This,
  5867.             /* [in] */ WORD wStreamNumber,
  5868.             /* [in] */ DWORD dwFormatNumber,
  5869.             /* [out] */ IWMMediaProps __RPC_FAR *__RPC_FAR *ppProps);
  5870.         
  5871.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAllocateForPostView )( 
  5872.             IWMWriterPostView __RPC_FAR * This,
  5873.             /* [in] */ WORD wStreamNumber,
  5874.             /* [in] */ BOOL fAllocate);
  5875.         
  5876.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllocateForPostView )( 
  5877.             IWMWriterPostView __RPC_FAR * This,
  5878.             /* [in] */ WORD wStreamNumber,
  5879.             /* [out] */ BOOL __RPC_FAR *pfAllocate);
  5880.         
  5881.         END_INTERFACE
  5882.     } IWMWriterPostViewVtbl;
  5883.  
  5884.     interface IWMWriterPostView
  5885.     {
  5886.         CONST_VTBL struct IWMWriterPostViewVtbl __RPC_FAR *lpVtbl;
  5887.     };
  5888.  
  5889.     
  5890.  
  5891. #ifdef COBJMACROS
  5892.  
  5893.  
  5894. #define IWMWriterPostView_QueryInterface(This,riid,ppvObject)    \
  5895.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5896.  
  5897. #define IWMWriterPostView_AddRef(This)    \
  5898.     (This)->lpVtbl -> AddRef(This)
  5899.  
  5900. #define IWMWriterPostView_Release(This)    \
  5901.     (This)->lpVtbl -> Release(This)
  5902.  
  5903.  
  5904. #define IWMWriterPostView_SetPostViewCallback(This,pCallback,pvContext)    \
  5905.     (This)->lpVtbl -> SetPostViewCallback(This,pCallback,pvContext)
  5906.  
  5907. #define IWMWriterPostView_SetReceivePostViewSamples(This,wStreamNum,fReceivePostViewSamples)    \
  5908.     (This)->lpVtbl -> SetReceivePostViewSamples(This,wStreamNum,fReceivePostViewSamples)
  5909.  
  5910. #define IWMWriterPostView_GetReceivePostViewSamples(This,wStreamNum,pfReceivePostViewSamples)    \
  5911.     (This)->lpVtbl -> GetReceivePostViewSamples(This,wStreamNum,pfReceivePostViewSamples)
  5912.  
  5913. #define IWMWriterPostView_GetPostViewProps(This,wStreamNumber,ppOutput)    \
  5914.     (This)->lpVtbl -> GetPostViewProps(This,wStreamNumber,ppOutput)
  5915.  
  5916. #define IWMWriterPostView_SetPostViewProps(This,wStreamNumber,pOutput)    \
  5917.     (This)->lpVtbl -> SetPostViewProps(This,wStreamNumber,pOutput)
  5918.  
  5919. #define IWMWriterPostView_GetPostViewFormatCount(This,wStreamNumber,pcFormats)    \
  5920.     (This)->lpVtbl -> GetPostViewFormatCount(This,wStreamNumber,pcFormats)
  5921.  
  5922. #define IWMWriterPostView_GetPostViewFormat(This,wStreamNumber,dwFormatNumber,ppProps)    \
  5923.     (This)->lpVtbl -> GetPostViewFormat(This,wStreamNumber,dwFormatNumber,ppProps)
  5924.  
  5925. #define IWMWriterPostView_SetAllocateForPostView(This,wStreamNumber,fAllocate)    \
  5926.     (This)->lpVtbl -> SetAllocateForPostView(This,wStreamNumber,fAllocate)
  5927.  
  5928. #define IWMWriterPostView_GetAllocateForPostView(This,wStreamNumber,pfAllocate)    \
  5929.     (This)->lpVtbl -> GetAllocateForPostView(This,wStreamNumber,pfAllocate)
  5930.  
  5931. #endif /* COBJMACROS */
  5932.  
  5933.  
  5934. #endif     /* C style interface */
  5935.  
  5936.  
  5937.  
  5938. HRESULT STDMETHODCALLTYPE IWMWriterPostView_SetPostViewCallback_Proxy( 
  5939.     IWMWriterPostView __RPC_FAR * This,
  5940.     IWMWriterPostViewCallback __RPC_FAR *pCallback,
  5941.     void __RPC_FAR *pvContext);
  5942.  
  5943.  
  5944. void __RPC_STUB IWMWriterPostView_SetPostViewCallback_Stub(
  5945.     IRpcStubBuffer *This,
  5946.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5947.     PRPC_MESSAGE _pRpcMessage,
  5948.     DWORD *_pdwStubPhase);
  5949.  
  5950.  
  5951. HRESULT STDMETHODCALLTYPE IWMWriterPostView_SetReceivePostViewSamples_Proxy( 
  5952.     IWMWriterPostView __RPC_FAR * This,
  5953.     /* [in] */ WORD wStreamNum,
  5954.     /* [in] */ BOOL fReceivePostViewSamples);
  5955.  
  5956.  
  5957. void __RPC_STUB IWMWriterPostView_SetReceivePostViewSamples_Stub(
  5958.     IRpcStubBuffer *This,
  5959.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5960.     PRPC_MESSAGE _pRpcMessage,
  5961.     DWORD *_pdwStubPhase);
  5962.  
  5963.  
  5964. HRESULT STDMETHODCALLTYPE IWMWriterPostView_GetReceivePostViewSamples_Proxy( 
  5965.     IWMWriterPostView __RPC_FAR * This,
  5966.     /* [in] */ WORD wStreamNum,
  5967.     /* [out] */ BOOL __RPC_FAR *pfReceivePostViewSamples);
  5968.  
  5969.  
  5970. void __RPC_STUB IWMWriterPostView_GetReceivePostViewSamples_Stub(
  5971.     IRpcStubBuffer *This,
  5972.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5973.     PRPC_MESSAGE _pRpcMessage,
  5974.     DWORD *_pdwStubPhase);
  5975.  
  5976.  
  5977. HRESULT STDMETHODCALLTYPE IWMWriterPostView_GetPostViewProps_Proxy( 
  5978.     IWMWriterPostView __RPC_FAR * This,
  5979.     /* [in] */ WORD wStreamNumber,
  5980.     /* [out] */ IWMMediaProps __RPC_FAR *__RPC_FAR *ppOutput);
  5981.  
  5982.  
  5983. void __RPC_STUB IWMWriterPostView_GetPostViewProps_Stub(
  5984.     IRpcStubBuffer *This,
  5985.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5986.     PRPC_MESSAGE _pRpcMessage,
  5987.     DWORD *_pdwStubPhase);
  5988.  
  5989.  
  5990. HRESULT STDMETHODCALLTYPE IWMWriterPostView_SetPostViewProps_Proxy( 
  5991.     IWMWriterPostView __RPC_FAR * This,
  5992.     /* [in] */ WORD wStreamNumber,
  5993.     /* [in] */ IWMMediaProps __RPC_FAR *pOutput);
  5994.  
  5995.  
  5996. void __RPC_STUB IWMWriterPostView_SetPostViewProps_Stub(
  5997.     IRpcStubBuffer *This,
  5998.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5999.     PRPC_MESSAGE _pRpcMessage,
  6000.     DWORD *_pdwStubPhase);
  6001.  
  6002.  
  6003. HRESULT STDMETHODCALLTYPE IWMWriterPostView_GetPostViewFormatCount_Proxy( 
  6004.     IWMWriterPostView __RPC_FAR * This,
  6005.     /* [in] */ WORD wStreamNumber,
  6006.     /* [out] */ DWORD __RPC_FAR *pcFormats);
  6007.  
  6008.  
  6009. void __RPC_STUB IWMWriterPostView_GetPostViewFormatCount_Stub(
  6010.     IRpcStubBuffer *This,
  6011.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6012.     PRPC_MESSAGE _pRpcMessage,
  6013.     DWORD *_pdwStubPhase);
  6014.  
  6015.  
  6016. HRESULT STDMETHODCALLTYPE IWMWriterPostView_GetPostViewFormat_Proxy( 
  6017.     IWMWriterPostView __RPC_FAR * This,
  6018.     /* [in] */ WORD wStreamNumber,
  6019.     /* [in] */ DWORD dwFormatNumber,
  6020.     /* [out] */ IWMMediaProps __RPC_FAR *__RPC_FAR *ppProps);
  6021.  
  6022.  
  6023. void __RPC_STUB IWMWriterPostView_GetPostViewFormat_Stub(
  6024.     IRpcStubBuffer *This,
  6025.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6026.     PRPC_MESSAGE _pRpcMessage,
  6027.     DWORD *_pdwStubPhase);
  6028.  
  6029.  
  6030. HRESULT STDMETHODCALLTYPE IWMWriterPostView_SetAllocateForPostView_Proxy( 
  6031.     IWMWriterPostView __RPC_FAR * This,
  6032.     /* [in] */ WORD wStreamNumber,
  6033.     /* [in] */ BOOL fAllocate);
  6034.  
  6035.  
  6036. void __RPC_STUB IWMWriterPostView_SetAllocateForPostView_Stub(
  6037.     IRpcStubBuffer *This,
  6038.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6039.     PRPC_MESSAGE _pRpcMessage,
  6040.     DWORD *_pdwStubPhase);
  6041.  
  6042.  
  6043. HRESULT STDMETHODCALLTYPE IWMWriterPostView_GetAllocateForPostView_Proxy( 
  6044.     IWMWriterPostView __RPC_FAR * This,
  6045.     /* [in] */ WORD wStreamNumber,
  6046.     /* [out] */ BOOL __RPC_FAR *pfAllocate);
  6047.  
  6048.  
  6049. void __RPC_STUB IWMWriterPostView_GetAllocateForPostView_Stub(
  6050.     IRpcStubBuffer *This,
  6051.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6052.     PRPC_MESSAGE _pRpcMessage,
  6053.     DWORD *_pdwStubPhase);
  6054.  
  6055.  
  6056.  
  6057. #endif     /* __IWMWriterPostView_INTERFACE_DEFINED__ */
  6058.  
  6059.  
  6060. #ifndef __IWMWriterSink_INTERFACE_DEFINED__
  6061. #define __IWMWriterSink_INTERFACE_DEFINED__
  6062.  
  6063. /* interface IWMWriterSink */
  6064. /* [local][unique][helpstring][uuid][object] */ 
  6065.  
  6066.  
  6067. EXTERN_C const IID IID_IWMWriterSink;
  6068.  
  6069. #if defined(__cplusplus) && !defined(CINTERFACE)
  6070.     
  6071.     MIDL_INTERFACE("96406BE4-2B2B-11d3-B36B-00C04F6108FF")
  6072.     IWMWriterSink : public IUnknown
  6073.     {
  6074.     public:
  6075.         virtual HRESULT STDMETHODCALLTYPE OnHeader( 
  6076.             /* [in] */ INSSBuffer __RPC_FAR *pHeader) = 0;
  6077.         
  6078.         virtual HRESULT STDMETHODCALLTYPE IsRealTime( 
  6079.             /* [out] */ BOOL __RPC_FAR *pfRealTime) = 0;
  6080.         
  6081.         virtual HRESULT STDMETHODCALLTYPE AllocateDataUnit( 
  6082.             /* [in] */ DWORD cbDataUnit,
  6083.             /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppDataUnit) = 0;
  6084.         
  6085.         virtual HRESULT STDMETHODCALLTYPE OnDataUnit( 
  6086.             /* [in] */ INSSBuffer __RPC_FAR *pDataUnit) = 0;
  6087.         
  6088.         virtual HRESULT STDMETHODCALLTYPE OnEndWriting( void) = 0;
  6089.         
  6090.     };
  6091.     
  6092. #else     /* C style interface */
  6093.  
  6094.     typedef struct IWMWriterSinkVtbl
  6095.     {
  6096.         BEGIN_INTERFACE
  6097.         
  6098.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6099.             IWMWriterSink __RPC_FAR * This,
  6100.             /* [in] */ REFIID riid,
  6101.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6102.         
  6103.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6104.             IWMWriterSink __RPC_FAR * This);
  6105.         
  6106.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6107.             IWMWriterSink __RPC_FAR * This);
  6108.         
  6109.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnHeader )( 
  6110.             IWMWriterSink __RPC_FAR * This,
  6111.             /* [in] */ INSSBuffer __RPC_FAR *pHeader);
  6112.         
  6113.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsRealTime )( 
  6114.             IWMWriterSink __RPC_FAR * This,
  6115.             /* [out] */ BOOL __RPC_FAR *pfRealTime);
  6116.         
  6117.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateDataUnit )( 
  6118.             IWMWriterSink __RPC_FAR * This,
  6119.             /* [in] */ DWORD cbDataUnit,
  6120.             /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppDataUnit);
  6121.         
  6122.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnDataUnit )( 
  6123.             IWMWriterSink __RPC_FAR * This,
  6124.             /* [in] */ INSSBuffer __RPC_FAR *pDataUnit);
  6125.         
  6126.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnEndWriting )( 
  6127.             IWMWriterSink __RPC_FAR * This);
  6128.         
  6129.         END_INTERFACE
  6130.     } IWMWriterSinkVtbl;
  6131.  
  6132.     interface IWMWriterSink
  6133.     {
  6134.         CONST_VTBL struct IWMWriterSinkVtbl __RPC_FAR *lpVtbl;
  6135.     };
  6136.  
  6137.     
  6138.  
  6139. #ifdef COBJMACROS
  6140.  
  6141.  
  6142. #define IWMWriterSink_QueryInterface(This,riid,ppvObject)    \
  6143.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6144.  
  6145. #define IWMWriterSink_AddRef(This)    \
  6146.     (This)->lpVtbl -> AddRef(This)
  6147.  
  6148. #define IWMWriterSink_Release(This)    \
  6149.     (This)->lpVtbl -> Release(This)
  6150.  
  6151.  
  6152. #define IWMWriterSink_OnHeader(This,pHeader)    \
  6153.     (This)->lpVtbl -> OnHeader(This,pHeader)
  6154.  
  6155. #define IWMWriterSink_IsRealTime(This,pfRealTime)    \
  6156.     (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  6157.  
  6158. #define IWMWriterSink_AllocateDataUnit(This,cbDataUnit,ppDataUnit)    \
  6159.     (This)->lpVtbl -> AllocateDataUnit(This,cbDataUnit,ppDataUnit)
  6160.  
  6161. #define IWMWriterSink_OnDataUnit(This,pDataUnit)    \
  6162.     (This)->lpVtbl -> OnDataUnit(This,pDataUnit)
  6163.  
  6164. #define IWMWriterSink_OnEndWriting(This)    \
  6165.     (This)->lpVtbl -> OnEndWriting(This)
  6166.  
  6167. #endif /* COBJMACROS */
  6168.  
  6169.  
  6170. #endif     /* C style interface */
  6171.  
  6172.  
  6173.  
  6174. HRESULT STDMETHODCALLTYPE IWMWriterSink_OnHeader_Proxy( 
  6175.     IWMWriterSink __RPC_FAR * This,
  6176.     /* [in] */ INSSBuffer __RPC_FAR *pHeader);
  6177.  
  6178.  
  6179. void __RPC_STUB IWMWriterSink_OnHeader_Stub(
  6180.     IRpcStubBuffer *This,
  6181.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6182.     PRPC_MESSAGE _pRpcMessage,
  6183.     DWORD *_pdwStubPhase);
  6184.  
  6185.  
  6186. HRESULT STDMETHODCALLTYPE IWMWriterSink_IsRealTime_Proxy( 
  6187.     IWMWriterSink __RPC_FAR * This,
  6188.     /* [out] */ BOOL __RPC_FAR *pfRealTime);
  6189.  
  6190.  
  6191. void __RPC_STUB IWMWriterSink_IsRealTime_Stub(
  6192.     IRpcStubBuffer *This,
  6193.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6194.     PRPC_MESSAGE _pRpcMessage,
  6195.     DWORD *_pdwStubPhase);
  6196.  
  6197.  
  6198. HRESULT STDMETHODCALLTYPE IWMWriterSink_AllocateDataUnit_Proxy( 
  6199.     IWMWriterSink __RPC_FAR * This,
  6200.     /* [in] */ DWORD cbDataUnit,
  6201.     /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppDataUnit);
  6202.  
  6203.  
  6204. void __RPC_STUB IWMWriterSink_AllocateDataUnit_Stub(
  6205.     IRpcStubBuffer *This,
  6206.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6207.     PRPC_MESSAGE _pRpcMessage,
  6208.     DWORD *_pdwStubPhase);
  6209.  
  6210.  
  6211. HRESULT STDMETHODCALLTYPE IWMWriterSink_OnDataUnit_Proxy( 
  6212.     IWMWriterSink __RPC_FAR * This,
  6213.     /* [in] */ INSSBuffer __RPC_FAR *pDataUnit);
  6214.  
  6215.  
  6216. void __RPC_STUB IWMWriterSink_OnDataUnit_Stub(
  6217.     IRpcStubBuffer *This,
  6218.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6219.     PRPC_MESSAGE _pRpcMessage,
  6220.     DWORD *_pdwStubPhase);
  6221.  
  6222.  
  6223. HRESULT STDMETHODCALLTYPE IWMWriterSink_OnEndWriting_Proxy( 
  6224.     IWMWriterSink __RPC_FAR * This);
  6225.  
  6226.  
  6227. void __RPC_STUB IWMWriterSink_OnEndWriting_Stub(
  6228.     IRpcStubBuffer *This,
  6229.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6230.     PRPC_MESSAGE _pRpcMessage,
  6231.     DWORD *_pdwStubPhase);
  6232.  
  6233.  
  6234.  
  6235. #endif     /* __IWMWriterSink_INTERFACE_DEFINED__ */
  6236.  
  6237.  
  6238. #ifndef __IWMRegisterCallback_INTERFACE_DEFINED__
  6239. #define __IWMRegisterCallback_INTERFACE_DEFINED__
  6240.  
  6241. /* interface IWMRegisterCallback */
  6242. /* [local][unique][helpstring][uuid][object] */ 
  6243.  
  6244.  
  6245. EXTERN_C const IID IID_IWMRegisterCallback;
  6246.  
  6247. #if defined(__cplusplus) && !defined(CINTERFACE)
  6248.     
  6249.     MIDL_INTERFACE("CF4B1F99-4DE2-4e49-A363-252740D99BC1")
  6250.     IWMRegisterCallback : public IUnknown
  6251.     {
  6252.     public:
  6253.         virtual HRESULT STDMETHODCALLTYPE Advise( 
  6254.             /* [in] */ IWMStatusCallback __RPC_FAR *pCallback,
  6255.             /* [in] */ void __RPC_FAR *pvContext) = 0;
  6256.         
  6257.         virtual HRESULT STDMETHODCALLTYPE Unadvise( 
  6258.             /* [in] */ IWMStatusCallback __RPC_FAR *pCallback,
  6259.             /* [in] */ void __RPC_FAR *pvContext) = 0;
  6260.         
  6261.     };
  6262.     
  6263. #else     /* C style interface */
  6264.  
  6265.     typedef struct IWMRegisterCallbackVtbl
  6266.     {
  6267.         BEGIN_INTERFACE
  6268.         
  6269.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6270.             IWMRegisterCallback __RPC_FAR * This,
  6271.             /* [in] */ REFIID riid,
  6272.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6273.         
  6274.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6275.             IWMRegisterCallback __RPC_FAR * This);
  6276.         
  6277.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6278.             IWMRegisterCallback __RPC_FAR * This);
  6279.         
  6280.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Advise )( 
  6281.             IWMRegisterCallback __RPC_FAR * This,
  6282.             /* [in] */ IWMStatusCallback __RPC_FAR *pCallback,
  6283.             /* [in] */ void __RPC_FAR *pvContext);
  6284.         
  6285.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Unadvise )( 
  6286.             IWMRegisterCallback __RPC_FAR * This,
  6287.             /* [in] */ IWMStatusCallback __RPC_FAR *pCallback,
  6288.             /* [in] */ void __RPC_FAR *pvContext);
  6289.         
  6290.         END_INTERFACE
  6291.     } IWMRegisterCallbackVtbl;
  6292.  
  6293.     interface IWMRegisterCallback
  6294.     {
  6295.         CONST_VTBL struct IWMRegisterCallbackVtbl __RPC_FAR *lpVtbl;
  6296.     };
  6297.  
  6298.     
  6299.  
  6300. #ifdef COBJMACROS
  6301.  
  6302.  
  6303. #define IWMRegisterCallback_QueryInterface(This,riid,ppvObject)    \
  6304.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6305.  
  6306. #define IWMRegisterCallback_AddRef(This)    \
  6307.     (This)->lpVtbl -> AddRef(This)
  6308.  
  6309. #define IWMRegisterCallback_Release(This)    \
  6310.     (This)->lpVtbl -> Release(This)
  6311.  
  6312.  
  6313. #define IWMRegisterCallback_Advise(This,pCallback,pvContext)    \
  6314.     (This)->lpVtbl -> Advise(This,pCallback,pvContext)
  6315.  
  6316. #define IWMRegisterCallback_Unadvise(This,pCallback,pvContext)    \
  6317.     (This)->lpVtbl -> Unadvise(This,pCallback,pvContext)
  6318.  
  6319. #endif /* COBJMACROS */
  6320.  
  6321.  
  6322. #endif     /* C style interface */
  6323.  
  6324.  
  6325.  
  6326. HRESULT STDMETHODCALLTYPE IWMRegisterCallback_Advise_Proxy( 
  6327.     IWMRegisterCallback __RPC_FAR * This,
  6328.     /* [in] */ IWMStatusCallback __RPC_FAR *pCallback,
  6329.     /* [in] */ void __RPC_FAR *pvContext);
  6330.  
  6331.  
  6332. void __RPC_STUB IWMRegisterCallback_Advise_Stub(
  6333.     IRpcStubBuffer *This,
  6334.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6335.     PRPC_MESSAGE _pRpcMessage,
  6336.     DWORD *_pdwStubPhase);
  6337.  
  6338.  
  6339. HRESULT STDMETHODCALLTYPE IWMRegisterCallback_Unadvise_Proxy( 
  6340.     IWMRegisterCallback __RPC_FAR * This,
  6341.     /* [in] */ IWMStatusCallback __RPC_FAR *pCallback,
  6342.     /* [in] */ void __RPC_FAR *pvContext);
  6343.  
  6344.  
  6345. void __RPC_STUB IWMRegisterCallback_Unadvise_Stub(
  6346.     IRpcStubBuffer *This,
  6347.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6348.     PRPC_MESSAGE _pRpcMessage,
  6349.     DWORD *_pdwStubPhase);
  6350.  
  6351.  
  6352.  
  6353. #endif     /* __IWMRegisterCallback_INTERFACE_DEFINED__ */
  6354.  
  6355.  
  6356. #ifndef __IWMWriterFileSink_INTERFACE_DEFINED__
  6357. #define __IWMWriterFileSink_INTERFACE_DEFINED__
  6358.  
  6359. /* interface IWMWriterFileSink */
  6360. /* [local][unique][helpstring][uuid][object] */ 
  6361.  
  6362.  
  6363. EXTERN_C const IID IID_IWMWriterFileSink;
  6364.  
  6365. #if defined(__cplusplus) && !defined(CINTERFACE)
  6366.     
  6367.     MIDL_INTERFACE("96406BE5-2B2B-11d3-B36B-00C04F6108FF")
  6368.     IWMWriterFileSink : public IWMWriterSink
  6369.     {
  6370.     public:
  6371.         virtual HRESULT STDMETHODCALLTYPE Open( 
  6372.             /* [in] */ const WCHAR __RPC_FAR *pwszFilename) = 0;
  6373.         
  6374.     };
  6375.     
  6376. #else     /* C style interface */
  6377.  
  6378.     typedef struct IWMWriterFileSinkVtbl
  6379.     {
  6380.         BEGIN_INTERFACE
  6381.         
  6382.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6383.             IWMWriterFileSink __RPC_FAR * This,
  6384.             /* [in] */ REFIID riid,
  6385.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6386.         
  6387.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6388.             IWMWriterFileSink __RPC_FAR * This);
  6389.         
  6390.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6391.             IWMWriterFileSink __RPC_FAR * This);
  6392.         
  6393.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnHeader )( 
  6394.             IWMWriterFileSink __RPC_FAR * This,
  6395.             /* [in] */ INSSBuffer __RPC_FAR *pHeader);
  6396.         
  6397.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsRealTime )( 
  6398.             IWMWriterFileSink __RPC_FAR * This,
  6399.             /* [out] */ BOOL __RPC_FAR *pfRealTime);
  6400.         
  6401.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateDataUnit )( 
  6402.             IWMWriterFileSink __RPC_FAR * This,
  6403.             /* [in] */ DWORD cbDataUnit,
  6404.             /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppDataUnit);
  6405.         
  6406.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnDataUnit )( 
  6407.             IWMWriterFileSink __RPC_FAR * This,
  6408.             /* [in] */ INSSBuffer __RPC_FAR *pDataUnit);
  6409.         
  6410.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnEndWriting )( 
  6411.             IWMWriterFileSink __RPC_FAR * This);
  6412.         
  6413.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
  6414.             IWMWriterFileSink __RPC_FAR * This,
  6415.             /* [in] */ const WCHAR __RPC_FAR *pwszFilename);
  6416.         
  6417.         END_INTERFACE
  6418.     } IWMWriterFileSinkVtbl;
  6419.  
  6420.     interface IWMWriterFileSink
  6421.     {
  6422.         CONST_VTBL struct IWMWriterFileSinkVtbl __RPC_FAR *lpVtbl;
  6423.     };
  6424.  
  6425.     
  6426.  
  6427. #ifdef COBJMACROS
  6428.  
  6429.  
  6430. #define IWMWriterFileSink_QueryInterface(This,riid,ppvObject)    \
  6431.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6432.  
  6433. #define IWMWriterFileSink_AddRef(This)    \
  6434.     (This)->lpVtbl -> AddRef(This)
  6435.  
  6436. #define IWMWriterFileSink_Release(This)    \
  6437.     (This)->lpVtbl -> Release(This)
  6438.  
  6439.  
  6440. #define IWMWriterFileSink_OnHeader(This,pHeader)    \
  6441.     (This)->lpVtbl -> OnHeader(This,pHeader)
  6442.  
  6443. #define IWMWriterFileSink_IsRealTime(This,pfRealTime)    \
  6444.     (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  6445.  
  6446. #define IWMWriterFileSink_AllocateDataUnit(This,cbDataUnit,ppDataUnit)    \
  6447.     (This)->lpVtbl -> AllocateDataUnit(This,cbDataUnit,ppDataUnit)
  6448.  
  6449. #define IWMWriterFileSink_OnDataUnit(This,pDataUnit)    \
  6450.     (This)->lpVtbl -> OnDataUnit(This,pDataUnit)
  6451.  
  6452. #define IWMWriterFileSink_OnEndWriting(This)    \
  6453.     (This)->lpVtbl -> OnEndWriting(This)
  6454.  
  6455.  
  6456. #define IWMWriterFileSink_Open(This,pwszFilename)    \
  6457.     (This)->lpVtbl -> Open(This,pwszFilename)
  6458.  
  6459. #endif /* COBJMACROS */
  6460.  
  6461.  
  6462. #endif     /* C style interface */
  6463.  
  6464.  
  6465.  
  6466. HRESULT STDMETHODCALLTYPE IWMWriterFileSink_Open_Proxy( 
  6467.     IWMWriterFileSink __RPC_FAR * This,
  6468.     /* [in] */ const WCHAR __RPC_FAR *pwszFilename);
  6469.  
  6470.  
  6471. void __RPC_STUB IWMWriterFileSink_Open_Stub(
  6472.     IRpcStubBuffer *This,
  6473.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6474.     PRPC_MESSAGE _pRpcMessage,
  6475.     DWORD *_pdwStubPhase);
  6476.  
  6477.  
  6478.  
  6479. #endif     /* __IWMWriterFileSink_INTERFACE_DEFINED__ */
  6480.  
  6481.  
  6482. #ifndef __IWMWriterFileSink2_INTERFACE_DEFINED__
  6483. #define __IWMWriterFileSink2_INTERFACE_DEFINED__
  6484.  
  6485. /* interface IWMWriterFileSink2 */
  6486. /* [local][unique][helpstring][uuid][object] */ 
  6487.  
  6488.  
  6489. EXTERN_C const IID IID_IWMWriterFileSink2;
  6490.  
  6491. #if defined(__cplusplus) && !defined(CINTERFACE)
  6492.     
  6493.     MIDL_INTERFACE("14282BA7-4AEF-4205-8CE5-C229035A05BC")
  6494.     IWMWriterFileSink2 : public IWMWriterFileSink
  6495.     {
  6496.     public:
  6497.         virtual HRESULT STDMETHODCALLTYPE Start( 
  6498.             /* [in] */ QWORD cnsStartTime) = 0;
  6499.         
  6500.         virtual HRESULT STDMETHODCALLTYPE Stop( 
  6501.             /* [in] */ QWORD cnsStopTime) = 0;
  6502.         
  6503.         virtual HRESULT STDMETHODCALLTYPE IsStopped( 
  6504.             /* [out] */ BOOL __RPC_FAR *pfStopped) = 0;
  6505.         
  6506.         virtual HRESULT STDMETHODCALLTYPE GetFileDuration( 
  6507.             /* [out] */ QWORD __RPC_FAR *pcnsDuration) = 0;
  6508.         
  6509.         virtual HRESULT STDMETHODCALLTYPE GetFileSize( 
  6510.             /* [out] */ QWORD __RPC_FAR *pcbFile) = 0;
  6511.         
  6512.         virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
  6513.         
  6514.         virtual HRESULT STDMETHODCALLTYPE IsClosed( 
  6515.             /* [out] */ BOOL __RPC_FAR *pfClosed) = 0;
  6516.         
  6517.     };
  6518.     
  6519. #else     /* C style interface */
  6520.  
  6521.     typedef struct IWMWriterFileSink2Vtbl
  6522.     {
  6523.         BEGIN_INTERFACE
  6524.         
  6525.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6526.             IWMWriterFileSink2 __RPC_FAR * This,
  6527.             /* [in] */ REFIID riid,
  6528.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6529.         
  6530.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6531.             IWMWriterFileSink2 __RPC_FAR * This);
  6532.         
  6533.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6534.             IWMWriterFileSink2 __RPC_FAR * This);
  6535.         
  6536.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnHeader )( 
  6537.             IWMWriterFileSink2 __RPC_FAR * This,
  6538.             /* [in] */ INSSBuffer __RPC_FAR *pHeader);
  6539.         
  6540.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsRealTime )( 
  6541.             IWMWriterFileSink2 __RPC_FAR * This,
  6542.             /* [out] */ BOOL __RPC_FAR *pfRealTime);
  6543.         
  6544.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateDataUnit )( 
  6545.             IWMWriterFileSink2 __RPC_FAR * This,
  6546.             /* [in] */ DWORD cbDataUnit,
  6547.             /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppDataUnit);
  6548.         
  6549.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnDataUnit )( 
  6550.             IWMWriterFileSink2 __RPC_FAR * This,
  6551.             /* [in] */ INSSBuffer __RPC_FAR *pDataUnit);
  6552.         
  6553.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnEndWriting )( 
  6554.             IWMWriterFileSink2 __RPC_FAR * This);
  6555.         
  6556.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
  6557.             IWMWriterFileSink2 __RPC_FAR * This,
  6558.             /* [in] */ const WCHAR __RPC_FAR *pwszFilename);
  6559.         
  6560.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Start )( 
  6561.             IWMWriterFileSink2 __RPC_FAR * This,
  6562.             /* [in] */ QWORD cnsStartTime);
  6563.         
  6564.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
  6565.             IWMWriterFileSink2 __RPC_FAR * This,
  6566.             /* [in] */ QWORD cnsStopTime);
  6567.         
  6568.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsStopped )( 
  6569.             IWMWriterFileSink2 __RPC_FAR * This,
  6570.             /* [out] */ BOOL __RPC_FAR *pfStopped);
  6571.         
  6572.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFileDuration )( 
  6573.             IWMWriterFileSink2 __RPC_FAR * This,
  6574.             /* [out] */ QWORD __RPC_FAR *pcnsDuration);
  6575.         
  6576.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFileSize )( 
  6577.             IWMWriterFileSink2 __RPC_FAR * This,
  6578.             /* [out] */ QWORD __RPC_FAR *pcbFile);
  6579.         
  6580.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )( 
  6581.             IWMWriterFileSink2 __RPC_FAR * This);
  6582.         
  6583.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsClosed )( 
  6584.             IWMWriterFileSink2 __RPC_FAR * This,
  6585.             /* [out] */ BOOL __RPC_FAR *pfClosed);
  6586.         
  6587.         END_INTERFACE
  6588.     } IWMWriterFileSink2Vtbl;
  6589.  
  6590.     interface IWMWriterFileSink2
  6591.     {
  6592.         CONST_VTBL struct IWMWriterFileSink2Vtbl __RPC_FAR *lpVtbl;
  6593.     };
  6594.  
  6595.     
  6596.  
  6597. #ifdef COBJMACROS
  6598.  
  6599.  
  6600. #define IWMWriterFileSink2_QueryInterface(This,riid,ppvObject)    \
  6601.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6602.  
  6603. #define IWMWriterFileSink2_AddRef(This)    \
  6604.     (This)->lpVtbl -> AddRef(This)
  6605.  
  6606. #define IWMWriterFileSink2_Release(This)    \
  6607.     (This)->lpVtbl -> Release(This)
  6608.  
  6609.  
  6610. #define IWMWriterFileSink2_OnHeader(This,pHeader)    \
  6611.     (This)->lpVtbl -> OnHeader(This,pHeader)
  6612.  
  6613. #define IWMWriterFileSink2_IsRealTime(This,pfRealTime)    \
  6614.     (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  6615.  
  6616. #define IWMWriterFileSink2_AllocateDataUnit(This,cbDataUnit,ppDataUnit)    \
  6617.     (This)->lpVtbl -> AllocateDataUnit(This,cbDataUnit,ppDataUnit)
  6618.  
  6619. #define IWMWriterFileSink2_OnDataUnit(This,pDataUnit)    \
  6620.     (This)->lpVtbl -> OnDataUnit(This,pDataUnit)
  6621.  
  6622. #define IWMWriterFileSink2_OnEndWriting(This)    \
  6623.     (This)->lpVtbl -> OnEndWriting(This)
  6624.  
  6625.  
  6626. #define IWMWriterFileSink2_Open(This,pwszFilename)    \
  6627.     (This)->lpVtbl -> Open(This,pwszFilename)
  6628.  
  6629.  
  6630. #define IWMWriterFileSink2_Start(This,cnsStartTime)    \
  6631.     (This)->lpVtbl -> Start(This,cnsStartTime)
  6632.  
  6633. #define IWMWriterFileSink2_Stop(This,cnsStopTime)    \
  6634.     (This)->lpVtbl -> Stop(This,cnsStopTime)
  6635.  
  6636. #define IWMWriterFileSink2_IsStopped(This,pfStopped)    \
  6637.     (This)->lpVtbl -> IsStopped(This,pfStopped)
  6638.  
  6639. #define IWMWriterFileSink2_GetFileDuration(This,pcnsDuration)    \
  6640.     (This)->lpVtbl -> GetFileDuration(This,pcnsDuration)
  6641.  
  6642. #define IWMWriterFileSink2_GetFileSize(This,pcbFile)    \
  6643.     (This)->lpVtbl -> GetFileSize(This,pcbFile)
  6644.  
  6645. #define IWMWriterFileSink2_Close(This)    \
  6646.     (This)->lpVtbl -> Close(This)
  6647.  
  6648. #define IWMWriterFileSink2_IsClosed(This,pfClosed)    \
  6649.     (This)->lpVtbl -> IsClosed(This,pfClosed)
  6650.  
  6651. #endif /* COBJMACROS */
  6652.  
  6653.  
  6654. #endif     /* C style interface */
  6655.  
  6656.  
  6657.  
  6658. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_Start_Proxy( 
  6659.     IWMWriterFileSink2 __RPC_FAR * This,
  6660.     /* [in] */ QWORD cnsStartTime);
  6661.  
  6662.  
  6663. void __RPC_STUB IWMWriterFileSink2_Start_Stub(
  6664.     IRpcStubBuffer *This,
  6665.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6666.     PRPC_MESSAGE _pRpcMessage,
  6667.     DWORD *_pdwStubPhase);
  6668.  
  6669.  
  6670. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_Stop_Proxy( 
  6671.     IWMWriterFileSink2 __RPC_FAR * This,
  6672.     /* [in] */ QWORD cnsStopTime);
  6673.  
  6674.  
  6675. void __RPC_STUB IWMWriterFileSink2_Stop_Stub(
  6676.     IRpcStubBuffer *This,
  6677.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6678.     PRPC_MESSAGE _pRpcMessage,
  6679.     DWORD *_pdwStubPhase);
  6680.  
  6681.  
  6682. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_IsStopped_Proxy( 
  6683.     IWMWriterFileSink2 __RPC_FAR * This,
  6684.     /* [out] */ BOOL __RPC_FAR *pfStopped);
  6685.  
  6686.  
  6687. void __RPC_STUB IWMWriterFileSink2_IsStopped_Stub(
  6688.     IRpcStubBuffer *This,
  6689.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6690.     PRPC_MESSAGE _pRpcMessage,
  6691.     DWORD *_pdwStubPhase);
  6692.  
  6693.  
  6694. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_GetFileDuration_Proxy( 
  6695.     IWMWriterFileSink2 __RPC_FAR * This,
  6696.     /* [out] */ QWORD __RPC_FAR *pcnsDuration);
  6697.  
  6698.  
  6699. void __RPC_STUB IWMWriterFileSink2_GetFileDuration_Stub(
  6700.     IRpcStubBuffer *This,
  6701.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6702.     PRPC_MESSAGE _pRpcMessage,
  6703.     DWORD *_pdwStubPhase);
  6704.  
  6705.  
  6706. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_GetFileSize_Proxy( 
  6707.     IWMWriterFileSink2 __RPC_FAR * This,
  6708.     /* [out] */ QWORD __RPC_FAR *pcbFile);
  6709.  
  6710.  
  6711. void __RPC_STUB IWMWriterFileSink2_GetFileSize_Stub(
  6712.     IRpcStubBuffer *This,
  6713.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6714.     PRPC_MESSAGE _pRpcMessage,
  6715.     DWORD *_pdwStubPhase);
  6716.  
  6717.  
  6718. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_Close_Proxy( 
  6719.     IWMWriterFileSink2 __RPC_FAR * This);
  6720.  
  6721.  
  6722. void __RPC_STUB IWMWriterFileSink2_Close_Stub(
  6723.     IRpcStubBuffer *This,
  6724.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6725.     PRPC_MESSAGE _pRpcMessage,
  6726.     DWORD *_pdwStubPhase);
  6727.  
  6728.  
  6729. HRESULT STDMETHODCALLTYPE IWMWriterFileSink2_IsClosed_Proxy( 
  6730.     IWMWriterFileSink2 __RPC_FAR * This,
  6731.     /* [out] */ BOOL __RPC_FAR *pfClosed);
  6732.  
  6733.  
  6734. void __RPC_STUB IWMWriterFileSink2_IsClosed_Stub(
  6735.     IRpcStubBuffer *This,
  6736.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6737.     PRPC_MESSAGE _pRpcMessage,
  6738.     DWORD *_pdwStubPhase);
  6739.  
  6740.  
  6741.  
  6742. #endif     /* __IWMWriterFileSink2_INTERFACE_DEFINED__ */
  6743.  
  6744.  
  6745. #ifndef __IWMWriterNetworkSink_INTERFACE_DEFINED__
  6746. #define __IWMWriterNetworkSink_INTERFACE_DEFINED__
  6747.  
  6748. /* interface IWMWriterNetworkSink */
  6749. /* [local][unique][helpstring][uuid][object] */ 
  6750.  
  6751.  
  6752. EXTERN_C const IID IID_IWMWriterNetworkSink;
  6753.  
  6754. #if defined(__cplusplus) && !defined(CINTERFACE)
  6755.     
  6756.     MIDL_INTERFACE("96406BE7-2B2B-11d3-B36B-00C04F6108FF")
  6757.     IWMWriterNetworkSink : public IWMWriterSink
  6758.     {
  6759.     public:
  6760.         virtual HRESULT STDMETHODCALLTYPE SetMaximumClients( 
  6761.             /* [in] */ DWORD dwMaxClients) = 0;
  6762.         
  6763.         virtual HRESULT STDMETHODCALLTYPE GetMaximumClients( 
  6764.             /* [out] */ DWORD __RPC_FAR *pdwMaxClients) = 0;
  6765.         
  6766.         virtual HRESULT STDMETHODCALLTYPE SetNetworkProtocol( 
  6767.             /* [in] */ WMT_NET_PROTOCOL protocol) = 0;
  6768.         
  6769.         virtual HRESULT STDMETHODCALLTYPE GetNetworkProtocol( 
  6770.             /* [out] */ WMT_NET_PROTOCOL __RPC_FAR *pProtocol) = 0;
  6771.         
  6772.         virtual HRESULT STDMETHODCALLTYPE GetHostURL( 
  6773.             /* [out] */ WCHAR __RPC_FAR *pwszURL,
  6774.             /* [out][in] */ DWORD __RPC_FAR *pcchURL) = 0;
  6775.         
  6776.         virtual HRESULT STDMETHODCALLTYPE Open( 
  6777.             /* [out][in] */ DWORD __RPC_FAR *pdwPortNum) = 0;
  6778.         
  6779.         virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
  6780.         
  6781.         virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
  6782.         
  6783.     };
  6784.     
  6785. #else     /* C style interface */
  6786.  
  6787.     typedef struct IWMWriterNetworkSinkVtbl
  6788.     {
  6789.         BEGIN_INTERFACE
  6790.         
  6791.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6792.             IWMWriterNetworkSink __RPC_FAR * This,
  6793.             /* [in] */ REFIID riid,
  6794.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6795.         
  6796.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6797.             IWMWriterNetworkSink __RPC_FAR * This);
  6798.         
  6799.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6800.             IWMWriterNetworkSink __RPC_FAR * This);
  6801.         
  6802.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnHeader )( 
  6803.             IWMWriterNetworkSink __RPC_FAR * This,
  6804.             /* [in] */ INSSBuffer __RPC_FAR *pHeader);
  6805.         
  6806.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsRealTime )( 
  6807.             IWMWriterNetworkSink __RPC_FAR * This,
  6808.             /* [out] */ BOOL __RPC_FAR *pfRealTime);
  6809.         
  6810.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateDataUnit )( 
  6811.             IWMWriterNetworkSink __RPC_FAR * This,
  6812.             /* [in] */ DWORD cbDataUnit,
  6813.             /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppDataUnit);
  6814.         
  6815.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnDataUnit )( 
  6816.             IWMWriterNetworkSink __RPC_FAR * This,
  6817.             /* [in] */ INSSBuffer __RPC_FAR *pDataUnit);
  6818.         
  6819.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnEndWriting )( 
  6820.             IWMWriterNetworkSink __RPC_FAR * This);
  6821.         
  6822.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetMaximumClients )( 
  6823.             IWMWriterNetworkSink __RPC_FAR * This,
  6824.             /* [in] */ DWORD dwMaxClients);
  6825.         
  6826.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMaximumClients )( 
  6827.             IWMWriterNetworkSink __RPC_FAR * This,
  6828.             /* [out] */ DWORD __RPC_FAR *pdwMaxClients);
  6829.         
  6830.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetNetworkProtocol )( 
  6831.             IWMWriterNetworkSink __RPC_FAR * This,
  6832.             /* [in] */ WMT_NET_PROTOCOL protocol);
  6833.         
  6834.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNetworkProtocol )( 
  6835.             IWMWriterNetworkSink __RPC_FAR * This,
  6836.             /* [out] */ WMT_NET_PROTOCOL __RPC_FAR *pProtocol);
  6837.         
  6838.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetHostURL )( 
  6839.             IWMWriterNetworkSink __RPC_FAR * This,
  6840.             /* [out] */ WCHAR __RPC_FAR *pwszURL,
  6841.             /* [out][in] */ DWORD __RPC_FAR *pcchURL);
  6842.         
  6843.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
  6844.             IWMWriterNetworkSink __RPC_FAR * This,
  6845.             /* [out][in] */ DWORD __RPC_FAR *pdwPortNum);
  6846.         
  6847.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Disconnect )( 
  6848.             IWMWriterNetworkSink __RPC_FAR * This);
  6849.         
  6850.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Close )( 
  6851.             IWMWriterNetworkSink __RPC_FAR * This);
  6852.         
  6853.         END_INTERFACE
  6854.     } IWMWriterNetworkSinkVtbl;
  6855.  
  6856.     interface IWMWriterNetworkSink
  6857.     {
  6858.         CONST_VTBL struct IWMWriterNetworkSinkVtbl __RPC_FAR *lpVtbl;
  6859.     };
  6860.  
  6861.     
  6862.  
  6863. #ifdef COBJMACROS
  6864.  
  6865.  
  6866. #define IWMWriterNetworkSink_QueryInterface(This,riid,ppvObject)    \
  6867.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6868.  
  6869. #define IWMWriterNetworkSink_AddRef(This)    \
  6870.     (This)->lpVtbl -> AddRef(This)
  6871.  
  6872. #define IWMWriterNetworkSink_Release(This)    \
  6873.     (This)->lpVtbl -> Release(This)
  6874.  
  6875.  
  6876. #define IWMWriterNetworkSink_OnHeader(This,pHeader)    \
  6877.     (This)->lpVtbl -> OnHeader(This,pHeader)
  6878.  
  6879. #define IWMWriterNetworkSink_IsRealTime(This,pfRealTime)    \
  6880.     (This)->lpVtbl -> IsRealTime(This,pfRealTime)
  6881.  
  6882. #define IWMWriterNetworkSink_AllocateDataUnit(This,cbDataUnit,ppDataUnit)    \
  6883.     (This)->lpVtbl -> AllocateDataUnit(This,cbDataUnit,ppDataUnit)
  6884.  
  6885. #define IWMWriterNetworkSink_OnDataUnit(This,pDataUnit)    \
  6886.     (This)->lpVtbl -> OnDataUnit(This,pDataUnit)
  6887.  
  6888. #define IWMWriterNetworkSink_OnEndWriting(This)    \
  6889.     (This)->lpVtbl -> OnEndWriting(This)
  6890.  
  6891.  
  6892. #define IWMWriterNetworkSink_SetMaximumClients(This,dwMaxClients)    \
  6893.     (This)->lpVtbl -> SetMaximumClients(This,dwMaxClients)
  6894.  
  6895. #define IWMWriterNetworkSink_GetMaximumClients(This,pdwMaxClients)    \
  6896.     (This)->lpVtbl -> GetMaximumClients(This,pdwMaxClients)
  6897.  
  6898. #define IWMWriterNetworkSink_SetNetworkProtocol(This,protocol)    \
  6899.     (This)->lpVtbl -> SetNetworkProtocol(This,protocol)
  6900.  
  6901. #define IWMWriterNetworkSink_GetNetworkProtocol(This,pProtocol)    \
  6902.     (This)->lpVtbl -> GetNetworkProtocol(This,pProtocol)
  6903.  
  6904. #define IWMWriterNetworkSink_GetHostURL(This,pwszURL,pcchURL)    \
  6905.     (This)->lpVtbl -> GetHostURL(This,pwszURL,pcchURL)
  6906.  
  6907. #define IWMWriterNetworkSink_Open(This,pdwPortNum)    \
  6908.     (This)->lpVtbl -> Open(This,pdwPortNum)
  6909.  
  6910. #define IWMWriterNetworkSink_Disconnect(This)    \
  6911.     (This)->lpVtbl -> Disconnect(This)
  6912.  
  6913. #define IWMWriterNetworkSink_Close(This)    \
  6914.     (This)->lpVtbl -> Close(This)
  6915.  
  6916. #endif /* COBJMACROS */
  6917.  
  6918.  
  6919. #endif     /* C style interface */
  6920.  
  6921.  
  6922.  
  6923. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_SetMaximumClients_Proxy( 
  6924.     IWMWriterNetworkSink __RPC_FAR * This,
  6925.     /* [in] */ DWORD dwMaxClients);
  6926.  
  6927.  
  6928. void __RPC_STUB IWMWriterNetworkSink_SetMaximumClients_Stub(
  6929.     IRpcStubBuffer *This,
  6930.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6931.     PRPC_MESSAGE _pRpcMessage,
  6932.     DWORD *_pdwStubPhase);
  6933.  
  6934.  
  6935. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_GetMaximumClients_Proxy( 
  6936.     IWMWriterNetworkSink __RPC_FAR * This,
  6937.     /* [out] */ DWORD __RPC_FAR *pdwMaxClients);
  6938.  
  6939.  
  6940. void __RPC_STUB IWMWriterNetworkSink_GetMaximumClients_Stub(
  6941.     IRpcStubBuffer *This,
  6942.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6943.     PRPC_MESSAGE _pRpcMessage,
  6944.     DWORD *_pdwStubPhase);
  6945.  
  6946.  
  6947. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_SetNetworkProtocol_Proxy( 
  6948.     IWMWriterNetworkSink __RPC_FAR * This,
  6949.     /* [in] */ WMT_NET_PROTOCOL protocol);
  6950.  
  6951.  
  6952. void __RPC_STUB IWMWriterNetworkSink_SetNetworkProtocol_Stub(
  6953.     IRpcStubBuffer *This,
  6954.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6955.     PRPC_MESSAGE _pRpcMessage,
  6956.     DWORD *_pdwStubPhase);
  6957.  
  6958.  
  6959. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_GetNetworkProtocol_Proxy( 
  6960.     IWMWriterNetworkSink __RPC_FAR * This,
  6961.     /* [out] */ WMT_NET_PROTOCOL __RPC_FAR *pProtocol);
  6962.  
  6963.  
  6964. void __RPC_STUB IWMWriterNetworkSink_GetNetworkProtocol_Stub(
  6965.     IRpcStubBuffer *This,
  6966.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6967.     PRPC_MESSAGE _pRpcMessage,
  6968.     DWORD *_pdwStubPhase);
  6969.  
  6970.  
  6971. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_GetHostURL_Proxy( 
  6972.     IWMWriterNetworkSink __RPC_FAR * This,
  6973.     /* [out] */ WCHAR __RPC_FAR *pwszURL,
  6974.     /* [out][in] */ DWORD __RPC_FAR *pcchURL);
  6975.  
  6976.  
  6977. void __RPC_STUB IWMWriterNetworkSink_GetHostURL_Stub(
  6978.     IRpcStubBuffer *This,
  6979.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6980.     PRPC_MESSAGE _pRpcMessage,
  6981.     DWORD *_pdwStubPhase);
  6982.  
  6983.  
  6984. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_Open_Proxy( 
  6985.     IWMWriterNetworkSink __RPC_FAR * This,
  6986.     /* [out][in] */ DWORD __RPC_FAR *pdwPortNum);
  6987.  
  6988.  
  6989. void __RPC_STUB IWMWriterNetworkSink_Open_Stub(
  6990.     IRpcStubBuffer *This,
  6991.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6992.     PRPC_MESSAGE _pRpcMessage,
  6993.     DWORD *_pdwStubPhase);
  6994.  
  6995.  
  6996. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_Disconnect_Proxy( 
  6997.     IWMWriterNetworkSink __RPC_FAR * This);
  6998.  
  6999.  
  7000. void __RPC_STUB IWMWriterNetworkSink_Disconnect_Stub(
  7001.     IRpcStubBuffer *This,
  7002.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7003.     PRPC_MESSAGE _pRpcMessage,
  7004.     DWORD *_pdwStubPhase);
  7005.  
  7006.  
  7007. HRESULT STDMETHODCALLTYPE IWMWriterNetworkSink_Close_Proxy( 
  7008.     IWMWriterNetworkSink __RPC_FAR * This);
  7009.  
  7010.  
  7011. void __RPC_STUB IWMWriterNetworkSink_Close_Stub(
  7012.     IRpcStubBuffer *This,
  7013.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7014.     PRPC_MESSAGE _pRpcMessage,
  7015.     DWORD *_pdwStubPhase);
  7016.  
  7017.  
  7018.  
  7019. #endif     /* __IWMWriterNetworkSink_INTERFACE_DEFINED__ */
  7020.  
  7021.  
  7022. #ifndef __IWMClientConnections_INTERFACE_DEFINED__
  7023. #define __IWMClientConnections_INTERFACE_DEFINED__
  7024.  
  7025. /* interface IWMClientConnections */
  7026. /* [local][unique][helpstring][uuid][object] */ 
  7027.  
  7028.  
  7029. EXTERN_C const IID IID_IWMClientConnections;
  7030.  
  7031. #if defined(__cplusplus) && !defined(CINTERFACE)
  7032.     
  7033.     MIDL_INTERFACE("73C66010-A299-41df-B1F0-CCF03B09C1C6")
  7034.     IWMClientConnections : public IUnknown
  7035.     {
  7036.     public:
  7037.         virtual HRESULT STDMETHODCALLTYPE GetClientCount( 
  7038.             /* [out] */ DWORD __RPC_FAR *pcClients) = 0;
  7039.         
  7040.         virtual HRESULT STDMETHODCALLTYPE GetClientProperties( 
  7041.             /* [in] */ DWORD dwClientNum,
  7042.             /* [out] */ WM_CLIENT_PROPERTIES __RPC_FAR *pClientProperties) = 0;
  7043.         
  7044.     };
  7045.     
  7046. #else     /* C style interface */
  7047.  
  7048.     typedef struct IWMClientConnectionsVtbl
  7049.     {
  7050.         BEGIN_INTERFACE
  7051.         
  7052.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7053.             IWMClientConnections __RPC_FAR * This,
  7054.             /* [in] */ REFIID riid,
  7055.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7056.         
  7057.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7058.             IWMClientConnections __RPC_FAR * This);
  7059.         
  7060.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7061.             IWMClientConnections __RPC_FAR * This);
  7062.         
  7063.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClientCount )( 
  7064.             IWMClientConnections __RPC_FAR * This,
  7065.             /* [out] */ DWORD __RPC_FAR *pcClients);
  7066.         
  7067.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClientProperties )( 
  7068.             IWMClientConnections __RPC_FAR * This,
  7069.             /* [in] */ DWORD dwClientNum,
  7070.             /* [out] */ WM_CLIENT_PROPERTIES __RPC_FAR *pClientProperties);
  7071.         
  7072.         END_INTERFACE
  7073.     } IWMClientConnectionsVtbl;
  7074.  
  7075.     interface IWMClientConnections
  7076.     {
  7077.         CONST_VTBL struct IWMClientConnectionsVtbl __RPC_FAR *lpVtbl;
  7078.     };
  7079.  
  7080.     
  7081.  
  7082. #ifdef COBJMACROS
  7083.  
  7084.  
  7085. #define IWMClientConnections_QueryInterface(This,riid,ppvObject)    \
  7086.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7087.  
  7088. #define IWMClientConnections_AddRef(This)    \
  7089.     (This)->lpVtbl -> AddRef(This)
  7090.  
  7091. #define IWMClientConnections_Release(This)    \
  7092.     (This)->lpVtbl -> Release(This)
  7093.  
  7094.  
  7095. #define IWMClientConnections_GetClientCount(This,pcClients)    \
  7096.     (This)->lpVtbl -> GetClientCount(This,pcClients)
  7097.  
  7098. #define IWMClientConnections_GetClientProperties(This,dwClientNum,pClientProperties)    \
  7099.     (This)->lpVtbl -> GetClientProperties(This,dwClientNum,pClientProperties)
  7100.  
  7101. #endif /* COBJMACROS */
  7102.  
  7103.  
  7104. #endif     /* C style interface */
  7105.  
  7106.  
  7107.  
  7108. HRESULT STDMETHODCALLTYPE IWMClientConnections_GetClientCount_Proxy( 
  7109.     IWMClientConnections __RPC_FAR * This,
  7110.     /* [out] */ DWORD __RPC_FAR *pcClients);
  7111.  
  7112.  
  7113. void __RPC_STUB IWMClientConnections_GetClientCount_Stub(
  7114.     IRpcStubBuffer *This,
  7115.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7116.     PRPC_MESSAGE _pRpcMessage,
  7117.     DWORD *_pdwStubPhase);
  7118.  
  7119.  
  7120. HRESULT STDMETHODCALLTYPE IWMClientConnections_GetClientProperties_Proxy( 
  7121.     IWMClientConnections __RPC_FAR * This,
  7122.     /* [in] */ DWORD dwClientNum,
  7123.     /* [out] */ WM_CLIENT_PROPERTIES __RPC_FAR *pClientProperties);
  7124.  
  7125.  
  7126. void __RPC_STUB IWMClientConnections_GetClientProperties_Stub(
  7127.     IRpcStubBuffer *This,
  7128.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7129.     PRPC_MESSAGE _pRpcMessage,
  7130.     DWORD *_pdwStubPhase);
  7131.  
  7132.  
  7133.  
  7134. #endif     /* __IWMClientConnections_INTERFACE_DEFINED__ */
  7135.  
  7136.  
  7137. #ifndef __IWMReaderAdvanced_INTERFACE_DEFINED__
  7138. #define __IWMReaderAdvanced_INTERFACE_DEFINED__
  7139.  
  7140. /* interface IWMReaderAdvanced */
  7141. /* [local][unique][helpstring][uuid][object] */ 
  7142.  
  7143.  
  7144. EXTERN_C const IID IID_IWMReaderAdvanced;
  7145.  
  7146. #if defined(__cplusplus) && !defined(CINTERFACE)
  7147.     
  7148.     MIDL_INTERFACE("96406BEA-2B2B-11d3-B36B-00C04F6108FF")
  7149.     IWMReaderAdvanced : public IUnknown
  7150.     {
  7151.     public:
  7152.         virtual HRESULT STDMETHODCALLTYPE SetUserProvidedClock( 
  7153.             /* [in] */ BOOL fUserClock) = 0;
  7154.         
  7155.         virtual HRESULT STDMETHODCALLTYPE GetUserProvidedClock( 
  7156.             /* [out] */ BOOL __RPC_FAR *pfUserClock) = 0;
  7157.         
  7158.         virtual HRESULT STDMETHODCALLTYPE DeliverTime( 
  7159.             /* [in] */ QWORD cnsTime) = 0;
  7160.         
  7161.         virtual HRESULT STDMETHODCALLTYPE SetManualStreamSelection( 
  7162.             /* [in] */ BOOL fSelection) = 0;
  7163.         
  7164.         virtual HRESULT STDMETHODCALLTYPE GetManualStreamSelection( 
  7165.             /* [out] */ BOOL __RPC_FAR *pfSelection) = 0;
  7166.         
  7167.         virtual HRESULT STDMETHODCALLTYPE SetStreamsSelected( 
  7168.             /* [in] */ WORD cStreamCount,
  7169.             /* [in] */ WORD __RPC_FAR *pwStreamNumbers,
  7170.             /* [in] */ WMT_STREAM_SELECTION __RPC_FAR *pSelections) = 0;
  7171.         
  7172.         virtual HRESULT STDMETHODCALLTYPE GetStreamSelected( 
  7173.             /* [in] */ WORD wStreamNum,
  7174.             /* [out] */ WMT_STREAM_SELECTION __RPC_FAR *pSelection) = 0;
  7175.         
  7176.         virtual HRESULT STDMETHODCALLTYPE SetReceiveSelectionCallbacks( 
  7177.             /* [in] */ BOOL fGetCallbacks) = 0;
  7178.         
  7179.         virtual HRESULT STDMETHODCALLTYPE GetReceiveSelectionCallbacks( 
  7180.             /* [in] */ BOOL __RPC_FAR *pfGetCallbacks) = 0;
  7181.         
  7182.         virtual HRESULT STDMETHODCALLTYPE SetReceiveStreamSamples( 
  7183.             /* [in] */ WORD wStreamNum,
  7184.             /* [in] */ BOOL fReceiveStreamSamples) = 0;
  7185.         
  7186.         virtual HRESULT STDMETHODCALLTYPE GetReceiveStreamSamples( 
  7187.             /* [in] */ WORD wStreamNum,
  7188.             /* [out] */ BOOL __RPC_FAR *pfReceiveStreamSamples) = 0;
  7189.         
  7190.         virtual HRESULT STDMETHODCALLTYPE SetAllocateForOutput( 
  7191.             /* [in] */ DWORD dwOutputNum,
  7192.             /* [in] */ BOOL fAllocate) = 0;
  7193.         
  7194.         virtual HRESULT STDMETHODCALLTYPE GetAllocateForOutput( 
  7195.             /* [in] */ DWORD dwOutputNum,
  7196.             /* [out] */ BOOL __RPC_FAR *pfAllocate) = 0;
  7197.         
  7198.         virtual HRESULT STDMETHODCALLTYPE SetAllocateForStream( 
  7199.             /* [in] */ WORD dwStreamNum,
  7200.             /* [in] */ BOOL fAllocate) = 0;
  7201.         
  7202.         virtual HRESULT STDMETHODCALLTYPE GetAllocateForStream( 
  7203.             /* [in] */ WORD dwSreamNum,
  7204.             /* [out] */ BOOL __RPC_FAR *pfAllocate) = 0;
  7205.         
  7206.         virtual HRESULT STDMETHODCALLTYPE GetStatistics( 
  7207.             /* [in] */ WM_READER_STATISTICS __RPC_FAR *pStatistics) = 0;
  7208.         
  7209.         virtual HRESULT STDMETHODCALLTYPE SetClientInfo( 
  7210.             /* [in] */ WM_READER_CLIENTINFO __RPC_FAR *pClientInfo) = 0;
  7211.         
  7212.         virtual HRESULT STDMETHODCALLTYPE GetMaxOutputSampleSize( 
  7213.             /* [in] */ DWORD dwOutput,
  7214.             /* [out] */ DWORD __RPC_FAR *pcbMax) = 0;
  7215.         
  7216.         virtual HRESULT STDMETHODCALLTYPE GetMaxStreamSampleSize( 
  7217.             /* [in] */ WORD wStream,
  7218.             /* [out] */ DWORD __RPC_FAR *pcbMax) = 0;
  7219.         
  7220.         virtual HRESULT STDMETHODCALLTYPE NotifyLateDelivery( 
  7221.             QWORD cnsLateness) = 0;
  7222.         
  7223.     };
  7224.     
  7225. #else     /* C style interface */
  7226.  
  7227.     typedef struct IWMReaderAdvancedVtbl
  7228.     {
  7229.         BEGIN_INTERFACE
  7230.         
  7231.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7232.             IWMReaderAdvanced __RPC_FAR * This,
  7233.             /* [in] */ REFIID riid,
  7234.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7235.         
  7236.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7237.             IWMReaderAdvanced __RPC_FAR * This);
  7238.         
  7239.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7240.             IWMReaderAdvanced __RPC_FAR * This);
  7241.         
  7242.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUserProvidedClock )( 
  7243.             IWMReaderAdvanced __RPC_FAR * This,
  7244.             /* [in] */ BOOL fUserClock);
  7245.         
  7246.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetUserProvidedClock )( 
  7247.             IWMReaderAdvanced __RPC_FAR * This,
  7248.             /* [out] */ BOOL __RPC_FAR *pfUserClock);
  7249.         
  7250.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeliverTime )( 
  7251.             IWMReaderAdvanced __RPC_FAR * This,
  7252.             /* [in] */ QWORD cnsTime);
  7253.         
  7254.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetManualStreamSelection )( 
  7255.             IWMReaderAdvanced __RPC_FAR * This,
  7256.             /* [in] */ BOOL fSelection);
  7257.         
  7258.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetManualStreamSelection )( 
  7259.             IWMReaderAdvanced __RPC_FAR * This,
  7260.             /* [out] */ BOOL __RPC_FAR *pfSelection);
  7261.         
  7262.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetStreamsSelected )( 
  7263.             IWMReaderAdvanced __RPC_FAR * This,
  7264.             /* [in] */ WORD cStreamCount,
  7265.             /* [in] */ WORD __RPC_FAR *pwStreamNumbers,
  7266.             /* [in] */ WMT_STREAM_SELECTION __RPC_FAR *pSelections);
  7267.         
  7268.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamSelected )( 
  7269.             IWMReaderAdvanced __RPC_FAR * This,
  7270.             /* [in] */ WORD wStreamNum,
  7271.             /* [out] */ WMT_STREAM_SELECTION __RPC_FAR *pSelection);
  7272.         
  7273.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetReceiveSelectionCallbacks )( 
  7274.             IWMReaderAdvanced __RPC_FAR * This,
  7275.             /* [in] */ BOOL fGetCallbacks);
  7276.         
  7277.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetReceiveSelectionCallbacks )( 
  7278.             IWMReaderAdvanced __RPC_FAR * This,
  7279.             /* [in] */ BOOL __RPC_FAR *pfGetCallbacks);
  7280.         
  7281.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetReceiveStreamSamples )( 
  7282.             IWMReaderAdvanced __RPC_FAR * This,
  7283.             /* [in] */ WORD wStreamNum,
  7284.             /* [in] */ BOOL fReceiveStreamSamples);
  7285.         
  7286.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetReceiveStreamSamples )( 
  7287.             IWMReaderAdvanced __RPC_FAR * This,
  7288.             /* [in] */ WORD wStreamNum,
  7289.             /* [out] */ BOOL __RPC_FAR *pfReceiveStreamSamples);
  7290.         
  7291.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAllocateForOutput )( 
  7292.             IWMReaderAdvanced __RPC_FAR * This,
  7293.             /* [in] */ DWORD dwOutputNum,
  7294.             /* [in] */ BOOL fAllocate);
  7295.         
  7296.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllocateForOutput )( 
  7297.             IWMReaderAdvanced __RPC_FAR * This,
  7298.             /* [in] */ DWORD dwOutputNum,
  7299.             /* [out] */ BOOL __RPC_FAR *pfAllocate);
  7300.         
  7301.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAllocateForStream )( 
  7302.             IWMReaderAdvanced __RPC_FAR * This,
  7303.             /* [in] */ WORD dwStreamNum,
  7304.             /* [in] */ BOOL fAllocate);
  7305.         
  7306.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllocateForStream )( 
  7307.             IWMReaderAdvanced __RPC_FAR * This,
  7308.             /* [in] */ WORD dwSreamNum,
  7309.             /* [out] */ BOOL __RPC_FAR *pfAllocate);
  7310.         
  7311.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatistics )( 
  7312.             IWMReaderAdvanced __RPC_FAR * This,
  7313.             /* [in] */ WM_READER_STATISTICS __RPC_FAR *pStatistics);
  7314.         
  7315.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetClientInfo )( 
  7316.             IWMReaderAdvanced __RPC_FAR * This,
  7317.             /* [in] */ WM_READER_CLIENTINFO __RPC_FAR *pClientInfo);
  7318.         
  7319.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMaxOutputSampleSize )( 
  7320.             IWMReaderAdvanced __RPC_FAR * This,
  7321.             /* [in] */ DWORD dwOutput,
  7322.             /* [out] */ DWORD __RPC_FAR *pcbMax);
  7323.         
  7324.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMaxStreamSampleSize )( 
  7325.             IWMReaderAdvanced __RPC_FAR * This,
  7326.             /* [in] */ WORD wStream,
  7327.             /* [out] */ DWORD __RPC_FAR *pcbMax);
  7328.         
  7329.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NotifyLateDelivery )( 
  7330.             IWMReaderAdvanced __RPC_FAR * This,
  7331.             QWORD cnsLateness);
  7332.         
  7333.         END_INTERFACE
  7334.     } IWMReaderAdvancedVtbl;
  7335.  
  7336.     interface IWMReaderAdvanced
  7337.     {
  7338.         CONST_VTBL struct IWMReaderAdvancedVtbl __RPC_FAR *lpVtbl;
  7339.     };
  7340.  
  7341.     
  7342.  
  7343. #ifdef COBJMACROS
  7344.  
  7345.  
  7346. #define IWMReaderAdvanced_QueryInterface(This,riid,ppvObject)    \
  7347.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7348.  
  7349. #define IWMReaderAdvanced_AddRef(This)    \
  7350.     (This)->lpVtbl -> AddRef(This)
  7351.  
  7352. #define IWMReaderAdvanced_Release(This)    \
  7353.     (This)->lpVtbl -> Release(This)
  7354.  
  7355.  
  7356. #define IWMReaderAdvanced_SetUserProvidedClock(This,fUserClock)    \
  7357.     (This)->lpVtbl -> SetUserProvidedClock(This,fUserClock)
  7358.  
  7359. #define IWMReaderAdvanced_GetUserProvidedClock(This,pfUserClock)    \
  7360.     (This)->lpVtbl -> GetUserProvidedClock(This,pfUserClock)
  7361.  
  7362. #define IWMReaderAdvanced_DeliverTime(This,cnsTime)    \
  7363.     (This)->lpVtbl -> DeliverTime(This,cnsTime)
  7364.  
  7365. #define IWMReaderAdvanced_SetManualStreamSelection(This,fSelection)    \
  7366.     (This)->lpVtbl -> SetManualStreamSelection(This,fSelection)
  7367.  
  7368. #define IWMReaderAdvanced_GetManualStreamSelection(This,pfSelection)    \
  7369.     (This)->lpVtbl -> GetManualStreamSelection(This,pfSelection)
  7370.  
  7371. #define IWMReaderAdvanced_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)    \
  7372.     (This)->lpVtbl -> SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
  7373.  
  7374. #define IWMReaderAdvanced_GetStreamSelected(This,wStreamNum,pSelection)    \
  7375.     (This)->lpVtbl -> GetStreamSelected(This,wStreamNum,pSelection)
  7376.  
  7377. #define IWMReaderAdvanced_SetReceiveSelectionCallbacks(This,fGetCallbacks)    \
  7378.     (This)->lpVtbl -> SetReceiveSelectionCallbacks(This,fGetCallbacks)
  7379.  
  7380. #define IWMReaderAdvanced_GetReceiveSelectionCallbacks(This,pfGetCallbacks)    \
  7381.     (This)->lpVtbl -> GetReceiveSelectionCallbacks(This,pfGetCallbacks)
  7382.  
  7383. #define IWMReaderAdvanced_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)    \
  7384.     (This)->lpVtbl -> SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
  7385.  
  7386. #define IWMReaderAdvanced_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)    \
  7387.     (This)->lpVtbl -> GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
  7388.  
  7389. #define IWMReaderAdvanced_SetAllocateForOutput(This,dwOutputNum,fAllocate)    \
  7390.     (This)->lpVtbl -> SetAllocateForOutput(This,dwOutputNum,fAllocate)
  7391.  
  7392. #define IWMReaderAdvanced_GetAllocateForOutput(This,dwOutputNum,pfAllocate)    \
  7393.     (This)->lpVtbl -> GetAllocateForOutput(This,dwOutputNum,pfAllocate)
  7394.  
  7395. #define IWMReaderAdvanced_SetAllocateForStream(This,dwStreamNum,fAllocate)    \
  7396.     (This)->lpVtbl -> SetAllocateForStream(This,dwStreamNum,fAllocate)
  7397.  
  7398. #define IWMReaderAdvanced_GetAllocateForStream(This,dwSreamNum,pfAllocate)    \
  7399.     (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,pfAllocate)
  7400.  
  7401. #define IWMReaderAdvanced_GetStatistics(This,pStatistics)    \
  7402.     (This)->lpVtbl -> GetStatistics(This,pStatistics)
  7403.  
  7404. #define IWMReaderAdvanced_SetClientInfo(This,pClientInfo)    \
  7405.     (This)->lpVtbl -> SetClientInfo(This,pClientInfo)
  7406.  
  7407. #define IWMReaderAdvanced_GetMaxOutputSampleSize(This,dwOutput,pcbMax)    \
  7408.     (This)->lpVtbl -> GetMaxOutputSampleSize(This,dwOutput,pcbMax)
  7409.  
  7410. #define IWMReaderAdvanced_GetMaxStreamSampleSize(This,wStream,pcbMax)    \
  7411.     (This)->lpVtbl -> GetMaxStreamSampleSize(This,wStream,pcbMax)
  7412.  
  7413. #define IWMReaderAdvanced_NotifyLateDelivery(This,cnsLateness)    \
  7414.     (This)->lpVtbl -> NotifyLateDelivery(This,cnsLateness)
  7415.  
  7416. #endif /* COBJMACROS */
  7417.  
  7418.  
  7419. #endif     /* C style interface */
  7420.  
  7421.  
  7422.  
  7423. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetUserProvidedClock_Proxy( 
  7424.     IWMReaderAdvanced __RPC_FAR * This,
  7425.     /* [in] */ BOOL fUserClock);
  7426.  
  7427.  
  7428. void __RPC_STUB IWMReaderAdvanced_SetUserProvidedClock_Stub(
  7429.     IRpcStubBuffer *This,
  7430.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7431.     PRPC_MESSAGE _pRpcMessage,
  7432.     DWORD *_pdwStubPhase);
  7433.  
  7434.  
  7435. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetUserProvidedClock_Proxy( 
  7436.     IWMReaderAdvanced __RPC_FAR * This,
  7437.     /* [out] */ BOOL __RPC_FAR *pfUserClock);
  7438.  
  7439.  
  7440. void __RPC_STUB IWMReaderAdvanced_GetUserProvidedClock_Stub(
  7441.     IRpcStubBuffer *This,
  7442.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7443.     PRPC_MESSAGE _pRpcMessage,
  7444.     DWORD *_pdwStubPhase);
  7445.  
  7446.  
  7447. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_DeliverTime_Proxy( 
  7448.     IWMReaderAdvanced __RPC_FAR * This,
  7449.     /* [in] */ QWORD cnsTime);
  7450.  
  7451.  
  7452. void __RPC_STUB IWMReaderAdvanced_DeliverTime_Stub(
  7453.     IRpcStubBuffer *This,
  7454.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7455.     PRPC_MESSAGE _pRpcMessage,
  7456.     DWORD *_pdwStubPhase);
  7457.  
  7458.  
  7459. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetManualStreamSelection_Proxy( 
  7460.     IWMReaderAdvanced __RPC_FAR * This,
  7461.     /* [in] */ BOOL fSelection);
  7462.  
  7463.  
  7464. void __RPC_STUB IWMReaderAdvanced_SetManualStreamSelection_Stub(
  7465.     IRpcStubBuffer *This,
  7466.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7467.     PRPC_MESSAGE _pRpcMessage,
  7468.     DWORD *_pdwStubPhase);
  7469.  
  7470.  
  7471. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetManualStreamSelection_Proxy( 
  7472.     IWMReaderAdvanced __RPC_FAR * This,
  7473.     /* [out] */ BOOL __RPC_FAR *pfSelection);
  7474.  
  7475.  
  7476. void __RPC_STUB IWMReaderAdvanced_GetManualStreamSelection_Stub(
  7477.     IRpcStubBuffer *This,
  7478.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7479.     PRPC_MESSAGE _pRpcMessage,
  7480.     DWORD *_pdwStubPhase);
  7481.  
  7482.  
  7483. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetStreamsSelected_Proxy( 
  7484.     IWMReaderAdvanced __RPC_FAR * This,
  7485.     /* [in] */ WORD cStreamCount,
  7486.     /* [in] */ WORD __RPC_FAR *pwStreamNumbers,
  7487.     /* [in] */ WMT_STREAM_SELECTION __RPC_FAR *pSelections);
  7488.  
  7489.  
  7490. void __RPC_STUB IWMReaderAdvanced_SetStreamsSelected_Stub(
  7491.     IRpcStubBuffer *This,
  7492.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7493.     PRPC_MESSAGE _pRpcMessage,
  7494.     DWORD *_pdwStubPhase);
  7495.  
  7496.  
  7497. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetStreamSelected_Proxy( 
  7498.     IWMReaderAdvanced __RPC_FAR * This,
  7499.     /* [in] */ WORD wStreamNum,
  7500.     /* [out] */ WMT_STREAM_SELECTION __RPC_FAR *pSelection);
  7501.  
  7502.  
  7503. void __RPC_STUB IWMReaderAdvanced_GetStreamSelected_Stub(
  7504.     IRpcStubBuffer *This,
  7505.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7506.     PRPC_MESSAGE _pRpcMessage,
  7507.     DWORD *_pdwStubPhase);
  7508.  
  7509.  
  7510. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetReceiveSelectionCallbacks_Proxy( 
  7511.     IWMReaderAdvanced __RPC_FAR * This,
  7512.     /* [in] */ BOOL fGetCallbacks);
  7513.  
  7514.  
  7515. void __RPC_STUB IWMReaderAdvanced_SetReceiveSelectionCallbacks_Stub(
  7516.     IRpcStubBuffer *This,
  7517.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7518.     PRPC_MESSAGE _pRpcMessage,
  7519.     DWORD *_pdwStubPhase);
  7520.  
  7521.  
  7522. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetReceiveSelectionCallbacks_Proxy( 
  7523.     IWMReaderAdvanced __RPC_FAR * This,
  7524.     /* [in] */ BOOL __RPC_FAR *pfGetCallbacks);
  7525.  
  7526.  
  7527. void __RPC_STUB IWMReaderAdvanced_GetReceiveSelectionCallbacks_Stub(
  7528.     IRpcStubBuffer *This,
  7529.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7530.     PRPC_MESSAGE _pRpcMessage,
  7531.     DWORD *_pdwStubPhase);
  7532.  
  7533.  
  7534. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetReceiveStreamSamples_Proxy( 
  7535.     IWMReaderAdvanced __RPC_FAR * This,
  7536.     /* [in] */ WORD wStreamNum,
  7537.     /* [in] */ BOOL fReceiveStreamSamples);
  7538.  
  7539.  
  7540. void __RPC_STUB IWMReaderAdvanced_SetReceiveStreamSamples_Stub(
  7541.     IRpcStubBuffer *This,
  7542.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7543.     PRPC_MESSAGE _pRpcMessage,
  7544.     DWORD *_pdwStubPhase);
  7545.  
  7546.  
  7547. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetReceiveStreamSamples_Proxy( 
  7548.     IWMReaderAdvanced __RPC_FAR * This,
  7549.     /* [in] */ WORD wStreamNum,
  7550.     /* [out] */ BOOL __RPC_FAR *pfReceiveStreamSamples);
  7551.  
  7552.  
  7553. void __RPC_STUB IWMReaderAdvanced_GetReceiveStreamSamples_Stub(
  7554.     IRpcStubBuffer *This,
  7555.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7556.     PRPC_MESSAGE _pRpcMessage,
  7557.     DWORD *_pdwStubPhase);
  7558.  
  7559.  
  7560. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetAllocateForOutput_Proxy( 
  7561.     IWMReaderAdvanced __RPC_FAR * This,
  7562.     /* [in] */ DWORD dwOutputNum,
  7563.     /* [in] */ BOOL fAllocate);
  7564.  
  7565.  
  7566. void __RPC_STUB IWMReaderAdvanced_SetAllocateForOutput_Stub(
  7567.     IRpcStubBuffer *This,
  7568.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7569.     PRPC_MESSAGE _pRpcMessage,
  7570.     DWORD *_pdwStubPhase);
  7571.  
  7572.  
  7573. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetAllocateForOutput_Proxy( 
  7574.     IWMReaderAdvanced __RPC_FAR * This,
  7575.     /* [in] */ DWORD dwOutputNum,
  7576.     /* [out] */ BOOL __RPC_FAR *pfAllocate);
  7577.  
  7578.  
  7579. void __RPC_STUB IWMReaderAdvanced_GetAllocateForOutput_Stub(
  7580.     IRpcStubBuffer *This,
  7581.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7582.     PRPC_MESSAGE _pRpcMessage,
  7583.     DWORD *_pdwStubPhase);
  7584.  
  7585.  
  7586. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetAllocateForStream_Proxy( 
  7587.     IWMReaderAdvanced __RPC_FAR * This,
  7588.     /* [in] */ WORD dwStreamNum,
  7589.     /* [in] */ BOOL fAllocate);
  7590.  
  7591.  
  7592. void __RPC_STUB IWMReaderAdvanced_SetAllocateForStream_Stub(
  7593.     IRpcStubBuffer *This,
  7594.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7595.     PRPC_MESSAGE _pRpcMessage,
  7596.     DWORD *_pdwStubPhase);
  7597.  
  7598.  
  7599. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetAllocateForStream_Proxy( 
  7600.     IWMReaderAdvanced __RPC_FAR * This,
  7601.     /* [in] */ WORD dwSreamNum,
  7602.     /* [out] */ BOOL __RPC_FAR *pfAllocate);
  7603.  
  7604.  
  7605. void __RPC_STUB IWMReaderAdvanced_GetAllocateForStream_Stub(
  7606.     IRpcStubBuffer *This,
  7607.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7608.     PRPC_MESSAGE _pRpcMessage,
  7609.     DWORD *_pdwStubPhase);
  7610.  
  7611.  
  7612. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetStatistics_Proxy( 
  7613.     IWMReaderAdvanced __RPC_FAR * This,
  7614.     /* [in] */ WM_READER_STATISTICS __RPC_FAR *pStatistics);
  7615.  
  7616.  
  7617. void __RPC_STUB IWMReaderAdvanced_GetStatistics_Stub(
  7618.     IRpcStubBuffer *This,
  7619.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7620.     PRPC_MESSAGE _pRpcMessage,
  7621.     DWORD *_pdwStubPhase);
  7622.  
  7623.  
  7624. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetClientInfo_Proxy( 
  7625.     IWMReaderAdvanced __RPC_FAR * This,
  7626.     /* [in] */ WM_READER_CLIENTINFO __RPC_FAR *pClientInfo);
  7627.  
  7628.  
  7629. void __RPC_STUB IWMReaderAdvanced_SetClientInfo_Stub(
  7630.     IRpcStubBuffer *This,
  7631.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7632.     PRPC_MESSAGE _pRpcMessage,
  7633.     DWORD *_pdwStubPhase);
  7634.  
  7635.  
  7636. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetMaxOutputSampleSize_Proxy( 
  7637.     IWMReaderAdvanced __RPC_FAR * This,
  7638.     /* [in] */ DWORD dwOutput,
  7639.     /* [out] */ DWORD __RPC_FAR *pcbMax);
  7640.  
  7641.  
  7642. void __RPC_STUB IWMReaderAdvanced_GetMaxOutputSampleSize_Stub(
  7643.     IRpcStubBuffer *This,
  7644.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7645.     PRPC_MESSAGE _pRpcMessage,
  7646.     DWORD *_pdwStubPhase);
  7647.  
  7648.  
  7649. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetMaxStreamSampleSize_Proxy( 
  7650.     IWMReaderAdvanced __RPC_FAR * This,
  7651.     /* [in] */ WORD wStream,
  7652.     /* [out] */ DWORD __RPC_FAR *pcbMax);
  7653.  
  7654.  
  7655. void __RPC_STUB IWMReaderAdvanced_GetMaxStreamSampleSize_Stub(
  7656.     IRpcStubBuffer *This,
  7657.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7658.     PRPC_MESSAGE _pRpcMessage,
  7659.     DWORD *_pdwStubPhase);
  7660.  
  7661.  
  7662. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_NotifyLateDelivery_Proxy( 
  7663.     IWMReaderAdvanced __RPC_FAR * This,
  7664.     QWORD cnsLateness);
  7665.  
  7666.  
  7667. void __RPC_STUB IWMReaderAdvanced_NotifyLateDelivery_Stub(
  7668.     IRpcStubBuffer *This,
  7669.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7670.     PRPC_MESSAGE _pRpcMessage,
  7671.     DWORD *_pdwStubPhase);
  7672.  
  7673.  
  7674.  
  7675. #endif     /* __IWMReaderAdvanced_INTERFACE_DEFINED__ */
  7676.  
  7677.  
  7678. #ifndef __IWMReaderAdvanced2_INTERFACE_DEFINED__
  7679. #define __IWMReaderAdvanced2_INTERFACE_DEFINED__
  7680.  
  7681. /* interface IWMReaderAdvanced2 */
  7682. /* [local][unique][helpstring][uuid][object] */ 
  7683.  
  7684.  
  7685. EXTERN_C const IID IID_IWMReaderAdvanced2;
  7686.  
  7687. #if defined(__cplusplus) && !defined(CINTERFACE)
  7688.     
  7689.     MIDL_INTERFACE("ae14a945-b90c-4d0d-9127-80d665f7d73e")
  7690.     IWMReaderAdvanced2 : public IWMReaderAdvanced
  7691.     {
  7692.     public:
  7693.         virtual HRESULT STDMETHODCALLTYPE SetPlayMode( 
  7694.             /* [in] */ WMT_PLAY_MODE Mode) = 0;
  7695.         
  7696.         virtual HRESULT STDMETHODCALLTYPE GetPlayMode( 
  7697.             /* [out] */ WMT_PLAY_MODE __RPC_FAR *pMode) = 0;
  7698.         
  7699.         virtual HRESULT STDMETHODCALLTYPE GetBufferProgress( 
  7700.             /* [out] */ DWORD __RPC_FAR *pdwPercent,
  7701.             /* [out] */ QWORD __RPC_FAR *pcnsBuffering) = 0;
  7702.         
  7703.         virtual HRESULT STDMETHODCALLTYPE GetDownloadProgress( 
  7704.             /* [out] */ DWORD __RPC_FAR *pdwPercent,
  7705.             /* [out] */ QWORD __RPC_FAR *pqwBytesDownloaded,
  7706.             /* [out] */ QWORD __RPC_FAR *pcnsDownload) = 0;
  7707.         
  7708.         virtual HRESULT STDMETHODCALLTYPE GetSaveAsProgress( 
  7709.             /* [out] */ DWORD __RPC_FAR *pdwPercent) = 0;
  7710.         
  7711.         virtual HRESULT STDMETHODCALLTYPE SaveFileAs( 
  7712.             /* [in] */ const WCHAR __RPC_FAR *pwszFilename) = 0;
  7713.         
  7714.         virtual HRESULT STDMETHODCALLTYPE GetProtocolName( 
  7715.             /* [out] */ WCHAR __RPC_FAR *pwszProtocol,
  7716.             /* [out][in] */ DWORD __RPC_FAR *pcchProtocol) = 0;
  7717.         
  7718.         virtual HRESULT STDMETHODCALLTYPE StartAtMarker( 
  7719.             /* [in] */ WORD wMarkerIndex,
  7720.             /* [in] */ QWORD cnsDuration,
  7721.             /* [in] */ float fRate,
  7722.             /* [in] */ void __RPC_FAR *pvContext) = 0;
  7723.         
  7724.         virtual HRESULT STDMETHODCALLTYPE GetOutputSetting( 
  7725.             /* [in] */ DWORD dwOutputNum,
  7726.             /* [in] */ LPCWSTR pszName,
  7727.             /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  7728.             /* [out] */ BYTE __RPC_FAR *pValue,
  7729.             /* [out][in] */ WORD __RPC_FAR *pcbLength) = 0;
  7730.         
  7731.         virtual HRESULT STDMETHODCALLTYPE SetOutputSetting( 
  7732.             /* [in] */ DWORD dwOutputNum,
  7733.             /* [in] */ LPCWSTR pszName,
  7734.             /* [in] */ WMT_ATTR_DATATYPE Type,
  7735.             /* [in] */ const BYTE __RPC_FAR *pValue,
  7736.             /* [in] */ WORD cbLength) = 0;
  7737.         
  7738.         virtual HRESULT STDMETHODCALLTYPE Preroll( 
  7739.             /* [in] */ QWORD cnsStart,
  7740.             /* [in] */ QWORD cnsDuration,
  7741.             /* [in] */ float fRate) = 0;
  7742.         
  7743.         virtual HRESULT STDMETHODCALLTYPE SetLogClientID( 
  7744.             /* [in] */ BOOL fLogClientID) = 0;
  7745.         
  7746.         virtual HRESULT STDMETHODCALLTYPE GetLogClientID( 
  7747.             /* [out] */ BOOL __RPC_FAR *pfLogClientID) = 0;
  7748.         
  7749.         virtual HRESULT STDMETHODCALLTYPE StopBuffering( void) = 0;
  7750.         
  7751.         virtual HRESULT STDMETHODCALLTYPE OpenStream( 
  7752.             /* [in] */ IStream __RPC_FAR *pStream,
  7753.             /* [in] */ IWMReaderCallback __RPC_FAR *pCallback,
  7754.             /* [in] */ void __RPC_FAR *pvContext) = 0;
  7755.         
  7756.     };
  7757.     
  7758. #else     /* C style interface */
  7759.  
  7760.     typedef struct IWMReaderAdvanced2Vtbl
  7761.     {
  7762.         BEGIN_INTERFACE
  7763.         
  7764.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7765.             IWMReaderAdvanced2 __RPC_FAR * This,
  7766.             /* [in] */ REFIID riid,
  7767.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7768.         
  7769.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7770.             IWMReaderAdvanced2 __RPC_FAR * This);
  7771.         
  7772.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7773.             IWMReaderAdvanced2 __RPC_FAR * This);
  7774.         
  7775.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUserProvidedClock )( 
  7776.             IWMReaderAdvanced2 __RPC_FAR * This,
  7777.             /* [in] */ BOOL fUserClock);
  7778.         
  7779.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetUserProvidedClock )( 
  7780.             IWMReaderAdvanced2 __RPC_FAR * This,
  7781.             /* [out] */ BOOL __RPC_FAR *pfUserClock);
  7782.         
  7783.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeliverTime )( 
  7784.             IWMReaderAdvanced2 __RPC_FAR * This,
  7785.             /* [in] */ QWORD cnsTime);
  7786.         
  7787.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetManualStreamSelection )( 
  7788.             IWMReaderAdvanced2 __RPC_FAR * This,
  7789.             /* [in] */ BOOL fSelection);
  7790.         
  7791.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetManualStreamSelection )( 
  7792.             IWMReaderAdvanced2 __RPC_FAR * This,
  7793.             /* [out] */ BOOL __RPC_FAR *pfSelection);
  7794.         
  7795.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetStreamsSelected )( 
  7796.             IWMReaderAdvanced2 __RPC_FAR * This,
  7797.             /* [in] */ WORD cStreamCount,
  7798.             /* [in] */ WORD __RPC_FAR *pwStreamNumbers,
  7799.             /* [in] */ WMT_STREAM_SELECTION __RPC_FAR *pSelections);
  7800.         
  7801.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStreamSelected )( 
  7802.             IWMReaderAdvanced2 __RPC_FAR * This,
  7803.             /* [in] */ WORD wStreamNum,
  7804.             /* [out] */ WMT_STREAM_SELECTION __RPC_FAR *pSelection);
  7805.         
  7806.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetReceiveSelectionCallbacks )( 
  7807.             IWMReaderAdvanced2 __RPC_FAR * This,
  7808.             /* [in] */ BOOL fGetCallbacks);
  7809.         
  7810.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetReceiveSelectionCallbacks )( 
  7811.             IWMReaderAdvanced2 __RPC_FAR * This,
  7812.             /* [in] */ BOOL __RPC_FAR *pfGetCallbacks);
  7813.         
  7814.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetReceiveStreamSamples )( 
  7815.             IWMReaderAdvanced2 __RPC_FAR * This,
  7816.             /* [in] */ WORD wStreamNum,
  7817.             /* [in] */ BOOL fReceiveStreamSamples);
  7818.         
  7819.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetReceiveStreamSamples )( 
  7820.             IWMReaderAdvanced2 __RPC_FAR * This,
  7821.             /* [in] */ WORD wStreamNum,
  7822.             /* [out] */ BOOL __RPC_FAR *pfReceiveStreamSamples);
  7823.         
  7824.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAllocateForOutput )( 
  7825.             IWMReaderAdvanced2 __RPC_FAR * This,
  7826.             /* [in] */ DWORD dwOutputNum,
  7827.             /* [in] */ BOOL fAllocate);
  7828.         
  7829.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllocateForOutput )( 
  7830.             IWMReaderAdvanced2 __RPC_FAR * This,
  7831.             /* [in] */ DWORD dwOutputNum,
  7832.             /* [out] */ BOOL __RPC_FAR *pfAllocate);
  7833.         
  7834.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAllocateForStream )( 
  7835.             IWMReaderAdvanced2 __RPC_FAR * This,
  7836.             /* [in] */ WORD dwStreamNum,
  7837.             /* [in] */ BOOL fAllocate);
  7838.         
  7839.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllocateForStream )( 
  7840.             IWMReaderAdvanced2 __RPC_FAR * This,
  7841.             /* [in] */ WORD dwSreamNum,
  7842.             /* [out] */ BOOL __RPC_FAR *pfAllocate);
  7843.         
  7844.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatistics )( 
  7845.             IWMReaderAdvanced2 __RPC_FAR * This,
  7846.             /* [in] */ WM_READER_STATISTICS __RPC_FAR *pStatistics);
  7847.         
  7848.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetClientInfo )( 
  7849.             IWMReaderAdvanced2 __RPC_FAR * This,
  7850.             /* [in] */ WM_READER_CLIENTINFO __RPC_FAR *pClientInfo);
  7851.         
  7852.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMaxOutputSampleSize )( 
  7853.             IWMReaderAdvanced2 __RPC_FAR * This,
  7854.             /* [in] */ DWORD dwOutput,
  7855.             /* [out] */ DWORD __RPC_FAR *pcbMax);
  7856.         
  7857.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMaxStreamSampleSize )( 
  7858.             IWMReaderAdvanced2 __RPC_FAR * This,
  7859.             /* [in] */ WORD wStream,
  7860.             /* [out] */ DWORD __RPC_FAR *pcbMax);
  7861.         
  7862.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NotifyLateDelivery )( 
  7863.             IWMReaderAdvanced2 __RPC_FAR * This,
  7864.             QWORD cnsLateness);
  7865.         
  7866.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPlayMode )( 
  7867.             IWMReaderAdvanced2 __RPC_FAR * This,
  7868.             /* [in] */ WMT_PLAY_MODE Mode);
  7869.         
  7870.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPlayMode )( 
  7871.             IWMReaderAdvanced2 __RPC_FAR * This,
  7872.             /* [out] */ WMT_PLAY_MODE __RPC_FAR *pMode);
  7873.         
  7874.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBufferProgress )( 
  7875.             IWMReaderAdvanced2 __RPC_FAR * This,
  7876.             /* [out] */ DWORD __RPC_FAR *pdwPercent,
  7877.             /* [out] */ QWORD __RPC_FAR *pcnsBuffering);
  7878.         
  7879.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDownloadProgress )( 
  7880.             IWMReaderAdvanced2 __RPC_FAR * This,
  7881.             /* [out] */ DWORD __RPC_FAR *pdwPercent,
  7882.             /* [out] */ QWORD __RPC_FAR *pqwBytesDownloaded,
  7883.             /* [out] */ QWORD __RPC_FAR *pcnsDownload);
  7884.         
  7885.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSaveAsProgress )( 
  7886.             IWMReaderAdvanced2 __RPC_FAR * This,
  7887.             /* [out] */ DWORD __RPC_FAR *pdwPercent);
  7888.         
  7889.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveFileAs )( 
  7890.             IWMReaderAdvanced2 __RPC_FAR * This,
  7891.             /* [in] */ const WCHAR __RPC_FAR *pwszFilename);
  7892.         
  7893.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProtocolName )( 
  7894.             IWMReaderAdvanced2 __RPC_FAR * This,
  7895.             /* [out] */ WCHAR __RPC_FAR *pwszProtocol,
  7896.             /* [out][in] */ DWORD __RPC_FAR *pcchProtocol);
  7897.         
  7898.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StartAtMarker )( 
  7899.             IWMReaderAdvanced2 __RPC_FAR * This,
  7900.             /* [in] */ WORD wMarkerIndex,
  7901.             /* [in] */ QWORD cnsDuration,
  7902.             /* [in] */ float fRate,
  7903.             /* [in] */ void __RPC_FAR *pvContext);
  7904.         
  7905.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOutputSetting )( 
  7906.             IWMReaderAdvanced2 __RPC_FAR * This,
  7907.             /* [in] */ DWORD dwOutputNum,
  7908.             /* [in] */ LPCWSTR pszName,
  7909.             /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  7910.             /* [out] */ BYTE __RPC_FAR *pValue,
  7911.             /* [out][in] */ WORD __RPC_FAR *pcbLength);
  7912.         
  7913.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOutputSetting )( 
  7914.             IWMReaderAdvanced2 __RPC_FAR * This,
  7915.             /* [in] */ DWORD dwOutputNum,
  7916.             /* [in] */ LPCWSTR pszName,
  7917.             /* [in] */ WMT_ATTR_DATATYPE Type,
  7918.             /* [in] */ const BYTE __RPC_FAR *pValue,
  7919.             /* [in] */ WORD cbLength);
  7920.         
  7921.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Preroll )( 
  7922.             IWMReaderAdvanced2 __RPC_FAR * This,
  7923.             /* [in] */ QWORD cnsStart,
  7924.             /* [in] */ QWORD cnsDuration,
  7925.             /* [in] */ float fRate);
  7926.         
  7927.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetLogClientID )( 
  7928.             IWMReaderAdvanced2 __RPC_FAR * This,
  7929.             /* [in] */ BOOL fLogClientID);
  7930.         
  7931.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLogClientID )( 
  7932.             IWMReaderAdvanced2 __RPC_FAR * This,
  7933.             /* [out] */ BOOL __RPC_FAR *pfLogClientID);
  7934.         
  7935.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StopBuffering )( 
  7936.             IWMReaderAdvanced2 __RPC_FAR * This);
  7937.         
  7938.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenStream )( 
  7939.             IWMReaderAdvanced2 __RPC_FAR * This,
  7940.             /* [in] */ IStream __RPC_FAR *pStream,
  7941.             /* [in] */ IWMReaderCallback __RPC_FAR *pCallback,
  7942.             /* [in] */ void __RPC_FAR *pvContext);
  7943.         
  7944.         END_INTERFACE
  7945.     } IWMReaderAdvanced2Vtbl;
  7946.  
  7947.     interface IWMReaderAdvanced2
  7948.     {
  7949.         CONST_VTBL struct IWMReaderAdvanced2Vtbl __RPC_FAR *lpVtbl;
  7950.     };
  7951.  
  7952.     
  7953.  
  7954. #ifdef COBJMACROS
  7955.  
  7956.  
  7957. #define IWMReaderAdvanced2_QueryInterface(This,riid,ppvObject)    \
  7958.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7959.  
  7960. #define IWMReaderAdvanced2_AddRef(This)    \
  7961.     (This)->lpVtbl -> AddRef(This)
  7962.  
  7963. #define IWMReaderAdvanced2_Release(This)    \
  7964.     (This)->lpVtbl -> Release(This)
  7965.  
  7966.  
  7967. #define IWMReaderAdvanced2_SetUserProvidedClock(This,fUserClock)    \
  7968.     (This)->lpVtbl -> SetUserProvidedClock(This,fUserClock)
  7969.  
  7970. #define IWMReaderAdvanced2_GetUserProvidedClock(This,pfUserClock)    \
  7971.     (This)->lpVtbl -> GetUserProvidedClock(This,pfUserClock)
  7972.  
  7973. #define IWMReaderAdvanced2_DeliverTime(This,cnsTime)    \
  7974.     (This)->lpVtbl -> DeliverTime(This,cnsTime)
  7975.  
  7976. #define IWMReaderAdvanced2_SetManualStreamSelection(This,fSelection)    \
  7977.     (This)->lpVtbl -> SetManualStreamSelection(This,fSelection)
  7978.  
  7979. #define IWMReaderAdvanced2_GetManualStreamSelection(This,pfSelection)    \
  7980.     (This)->lpVtbl -> GetManualStreamSelection(This,pfSelection)
  7981.  
  7982. #define IWMReaderAdvanced2_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)    \
  7983.     (This)->lpVtbl -> SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
  7984.  
  7985. #define IWMReaderAdvanced2_GetStreamSelected(This,wStreamNum,pSelection)    \
  7986.     (This)->lpVtbl -> GetStreamSelected(This,wStreamNum,pSelection)
  7987.  
  7988. #define IWMReaderAdvanced2_SetReceiveSelectionCallbacks(This,fGetCallbacks)    \
  7989.     (This)->lpVtbl -> SetReceiveSelectionCallbacks(This,fGetCallbacks)
  7990.  
  7991. #define IWMReaderAdvanced2_GetReceiveSelectionCallbacks(This,pfGetCallbacks)    \
  7992.     (This)->lpVtbl -> GetReceiveSelectionCallbacks(This,pfGetCallbacks)
  7993.  
  7994. #define IWMReaderAdvanced2_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)    \
  7995.     (This)->lpVtbl -> SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
  7996.  
  7997. #define IWMReaderAdvanced2_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)    \
  7998.     (This)->lpVtbl -> GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
  7999.  
  8000. #define IWMReaderAdvanced2_SetAllocateForOutput(This,dwOutputNum,fAllocate)    \
  8001.     (This)->lpVtbl -> SetAllocateForOutput(This,dwOutputNum,fAllocate)
  8002.  
  8003. #define IWMReaderAdvanced2_GetAllocateForOutput(This,dwOutputNum,pfAllocate)    \
  8004.     (This)->lpVtbl -> GetAllocateForOutput(This,dwOutputNum,pfAllocate)
  8005.  
  8006. #define IWMReaderAdvanced2_SetAllocateForStream(This,dwStreamNum,fAllocate)    \
  8007.     (This)->lpVtbl -> SetAllocateForStream(This,dwStreamNum,fAllocate)
  8008.  
  8009. #define IWMReaderAdvanced2_GetAllocateForStream(This,dwSreamNum,pfAllocate)    \
  8010.     (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,pfAllocate)
  8011.  
  8012. #define IWMReaderAdvanced2_GetStatistics(This,pStatistics)    \
  8013.     (This)->lpVtbl -> GetStatistics(This,pStatistics)
  8014.  
  8015. #define IWMReaderAdvanced2_SetClientInfo(This,pClientInfo)    \
  8016.     (This)->lpVtbl -> SetClientInfo(This,pClientInfo)
  8017.  
  8018. #define IWMReaderAdvanced2_GetMaxOutputSampleSize(This,dwOutput,pcbMax)    \
  8019.     (This)->lpVtbl -> GetMaxOutputSampleSize(This,dwOutput,pcbMax)
  8020.  
  8021. #define IWMReaderAdvanced2_GetMaxStreamSampleSize(This,wStream,pcbMax)    \
  8022.     (This)->lpVtbl -> GetMaxStreamSampleSize(This,wStream,pcbMax)
  8023.  
  8024. #define IWMReaderAdvanced2_NotifyLateDelivery(This,cnsLateness)    \
  8025.     (This)->lpVtbl -> NotifyLateDelivery(This,cnsLateness)
  8026.  
  8027.  
  8028. #define IWMReaderAdvanced2_SetPlayMode(This,Mode)    \
  8029.     (This)->lpVtbl -> SetPlayMode(This,Mode)
  8030.  
  8031. #define IWMReaderAdvanced2_GetPlayMode(This,pMode)    \
  8032.     (This)->lpVtbl -> GetPlayMode(This,pMode)
  8033.  
  8034. #define IWMReaderAdvanced2_GetBufferProgress(This,pdwPercent,pcnsBuffering)    \
  8035.     (This)->lpVtbl -> GetBufferProgress(This,pdwPercent,pcnsBuffering)
  8036.  
  8037. #define IWMReaderAdvanced2_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload)    \
  8038.     (This)->lpVtbl -> GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload)
  8039.  
  8040. #define IWMReaderAdvanced2_GetSaveAsProgress(This,pdwPercent)    \
  8041.     (This)->lpVtbl -> GetSaveAsProgress(This,pdwPercent)
  8042.  
  8043. #define IWMReaderAdvanced2_SaveFileAs(This,pwszFilename)    \
  8044.     (This)->lpVtbl -> SaveFileAs(This,pwszFilename)
  8045.  
  8046. #define IWMReaderAdvanced2_GetProtocolName(This,pwszProtocol,pcchProtocol)    \
  8047.     (This)->lpVtbl -> GetProtocolName(This,pwszProtocol,pcchProtocol)
  8048.  
  8049. #define IWMReaderAdvanced2_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext)    \
  8050.     (This)->lpVtbl -> StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext)
  8051.  
  8052. #define IWMReaderAdvanced2_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)    \
  8053.     (This)->lpVtbl -> GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)
  8054.  
  8055. #define IWMReaderAdvanced2_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)    \
  8056.     (This)->lpVtbl -> SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)
  8057.  
  8058. #define IWMReaderAdvanced2_Preroll(This,cnsStart,cnsDuration,fRate)    \
  8059.     (This)->lpVtbl -> Preroll(This,cnsStart,cnsDuration,fRate)
  8060.  
  8061. #define IWMReaderAdvanced2_SetLogClientID(This,fLogClientID)    \
  8062.     (This)->lpVtbl -> SetLogClientID(This,fLogClientID)
  8063.  
  8064. #define IWMReaderAdvanced2_GetLogClientID(This,pfLogClientID)    \
  8065.     (This)->lpVtbl -> GetLogClientID(This,pfLogClientID)
  8066.  
  8067. #define IWMReaderAdvanced2_StopBuffering(This)    \
  8068.     (This)->lpVtbl -> StopBuffering(This)
  8069.  
  8070. #define IWMReaderAdvanced2_OpenStream(This,pStream,pCallback,pvContext)    \
  8071.     (This)->lpVtbl -> OpenStream(This,pStream,pCallback,pvContext)
  8072.  
  8073. #endif /* COBJMACROS */
  8074.  
  8075.  
  8076. #endif     /* C style interface */
  8077.  
  8078.  
  8079.  
  8080. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_SetPlayMode_Proxy( 
  8081.     IWMReaderAdvanced2 __RPC_FAR * This,
  8082.     /* [in] */ WMT_PLAY_MODE Mode);
  8083.  
  8084.  
  8085. void __RPC_STUB IWMReaderAdvanced2_SetPlayMode_Stub(
  8086.     IRpcStubBuffer *This,
  8087.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8088.     PRPC_MESSAGE _pRpcMessage,
  8089.     DWORD *_pdwStubPhase);
  8090.  
  8091.  
  8092. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetPlayMode_Proxy( 
  8093.     IWMReaderAdvanced2 __RPC_FAR * This,
  8094.     /* [out] */ WMT_PLAY_MODE __RPC_FAR *pMode);
  8095.  
  8096.  
  8097. void __RPC_STUB IWMReaderAdvanced2_GetPlayMode_Stub(
  8098.     IRpcStubBuffer *This,
  8099.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8100.     PRPC_MESSAGE _pRpcMessage,
  8101.     DWORD *_pdwStubPhase);
  8102.  
  8103.  
  8104. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetBufferProgress_Proxy( 
  8105.     IWMReaderAdvanced2 __RPC_FAR * This,
  8106.     /* [out] */ DWORD __RPC_FAR *pdwPercent,
  8107.     /* [out] */ QWORD __RPC_FAR *pcnsBuffering);
  8108.  
  8109.  
  8110. void __RPC_STUB IWMReaderAdvanced2_GetBufferProgress_Stub(
  8111.     IRpcStubBuffer *This,
  8112.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8113.     PRPC_MESSAGE _pRpcMessage,
  8114.     DWORD *_pdwStubPhase);
  8115.  
  8116.  
  8117. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetDownloadProgress_Proxy( 
  8118.     IWMReaderAdvanced2 __RPC_FAR * This,
  8119.     /* [out] */ DWORD __RPC_FAR *pdwPercent,
  8120.     /* [out] */ QWORD __RPC_FAR *pqwBytesDownloaded,
  8121.     /* [out] */ QWORD __RPC_FAR *pcnsDownload);
  8122.  
  8123.  
  8124. void __RPC_STUB IWMReaderAdvanced2_GetDownloadProgress_Stub(
  8125.     IRpcStubBuffer *This,
  8126.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8127.     PRPC_MESSAGE _pRpcMessage,
  8128.     DWORD *_pdwStubPhase);
  8129.  
  8130.  
  8131. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetSaveAsProgress_Proxy( 
  8132.     IWMReaderAdvanced2 __RPC_FAR * This,
  8133.     /* [out] */ DWORD __RPC_FAR *pdwPercent);
  8134.  
  8135.  
  8136. void __RPC_STUB IWMReaderAdvanced2_GetSaveAsProgress_Stub(
  8137.     IRpcStubBuffer *This,
  8138.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8139.     PRPC_MESSAGE _pRpcMessage,
  8140.     DWORD *_pdwStubPhase);
  8141.  
  8142.  
  8143. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_SaveFileAs_Proxy( 
  8144.     IWMReaderAdvanced2 __RPC_FAR * This,
  8145.     /* [in] */ const WCHAR __RPC_FAR *pwszFilename);
  8146.  
  8147.  
  8148. void __RPC_STUB IWMReaderAdvanced2_SaveFileAs_Stub(
  8149.     IRpcStubBuffer *This,
  8150.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8151.     PRPC_MESSAGE _pRpcMessage,
  8152.     DWORD *_pdwStubPhase);
  8153.  
  8154.  
  8155. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetProtocolName_Proxy( 
  8156.     IWMReaderAdvanced2 __RPC_FAR * This,
  8157.     /* [out] */ WCHAR __RPC_FAR *pwszProtocol,
  8158.     /* [out][in] */ DWORD __RPC_FAR *pcchProtocol);
  8159.  
  8160.  
  8161. void __RPC_STUB IWMReaderAdvanced2_GetProtocolName_Stub(
  8162.     IRpcStubBuffer *This,
  8163.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8164.     PRPC_MESSAGE _pRpcMessage,
  8165.     DWORD *_pdwStubPhase);
  8166.  
  8167.  
  8168. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_StartAtMarker_Proxy( 
  8169.     IWMReaderAdvanced2 __RPC_FAR * This,
  8170.     /* [in] */ WORD wMarkerIndex,
  8171.     /* [in] */ QWORD cnsDuration,
  8172.     /* [in] */ float fRate,
  8173.     /* [in] */ void __RPC_FAR *pvContext);
  8174.  
  8175.  
  8176. void __RPC_STUB IWMReaderAdvanced2_StartAtMarker_Stub(
  8177.     IRpcStubBuffer *This,
  8178.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8179.     PRPC_MESSAGE _pRpcMessage,
  8180.     DWORD *_pdwStubPhase);
  8181.  
  8182.  
  8183. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetOutputSetting_Proxy( 
  8184.     IWMReaderAdvanced2 __RPC_FAR * This,
  8185.     /* [in] */ DWORD dwOutputNum,
  8186.     /* [in] */ LPCWSTR pszName,
  8187.     /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  8188.     /* [out] */ BYTE __RPC_FAR *pValue,
  8189.     /* [out][in] */ WORD __RPC_FAR *pcbLength);
  8190.  
  8191.  
  8192. void __RPC_STUB IWMReaderAdvanced2_GetOutputSetting_Stub(
  8193.     IRpcStubBuffer *This,
  8194.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8195.     PRPC_MESSAGE _pRpcMessage,
  8196.     DWORD *_pdwStubPhase);
  8197.  
  8198.  
  8199. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_SetOutputSetting_Proxy( 
  8200.     IWMReaderAdvanced2 __RPC_FAR * This,
  8201.     /* [in] */ DWORD dwOutputNum,
  8202.     /* [in] */ LPCWSTR pszName,
  8203.     /* [in] */ WMT_ATTR_DATATYPE Type,
  8204.     /* [in] */ const BYTE __RPC_FAR *pValue,
  8205.     /* [in] */ WORD cbLength);
  8206.  
  8207.  
  8208. void __RPC_STUB IWMReaderAdvanced2_SetOutputSetting_Stub(
  8209.     IRpcStubBuffer *This,
  8210.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8211.     PRPC_MESSAGE _pRpcMessage,
  8212.     DWORD *_pdwStubPhase);
  8213.  
  8214.  
  8215. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_Preroll_Proxy( 
  8216.     IWMReaderAdvanced2 __RPC_FAR * This,
  8217.     /* [in] */ QWORD cnsStart,
  8218.     /* [in] */ QWORD cnsDuration,
  8219.     /* [in] */ float fRate);
  8220.  
  8221.  
  8222. void __RPC_STUB IWMReaderAdvanced2_Preroll_Stub(
  8223.     IRpcStubBuffer *This,
  8224.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8225.     PRPC_MESSAGE _pRpcMessage,
  8226.     DWORD *_pdwStubPhase);
  8227.  
  8228.  
  8229. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_SetLogClientID_Proxy( 
  8230.     IWMReaderAdvanced2 __RPC_FAR * This,
  8231.     /* [in] */ BOOL fLogClientID);
  8232.  
  8233.  
  8234. void __RPC_STUB IWMReaderAdvanced2_SetLogClientID_Stub(
  8235.     IRpcStubBuffer *This,
  8236.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8237.     PRPC_MESSAGE _pRpcMessage,
  8238.     DWORD *_pdwStubPhase);
  8239.  
  8240.  
  8241. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetLogClientID_Proxy( 
  8242.     IWMReaderAdvanced2 __RPC_FAR * This,
  8243.     /* [out] */ BOOL __RPC_FAR *pfLogClientID);
  8244.  
  8245.  
  8246. void __RPC_STUB IWMReaderAdvanced2_GetLogClientID_Stub(
  8247.     IRpcStubBuffer *This,
  8248.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8249.     PRPC_MESSAGE _pRpcMessage,
  8250.     DWORD *_pdwStubPhase);
  8251.  
  8252.  
  8253. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_StopBuffering_Proxy( 
  8254.     IWMReaderAdvanced2 __RPC_FAR * This);
  8255.  
  8256.  
  8257. void __RPC_STUB IWMReaderAdvanced2_StopBuffering_Stub(
  8258.     IRpcStubBuffer *This,
  8259.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8260.     PRPC_MESSAGE _pRpcMessage,
  8261.     DWORD *_pdwStubPhase);
  8262.  
  8263.  
  8264. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_OpenStream_Proxy( 
  8265.     IWMReaderAdvanced2 __RPC_FAR * This,
  8266.     /* [in] */ IStream __RPC_FAR *pStream,
  8267.     /* [in] */ IWMReaderCallback __RPC_FAR *pCallback,
  8268.     /* [in] */ void __RPC_FAR *pvContext);
  8269.  
  8270.  
  8271. void __RPC_STUB IWMReaderAdvanced2_OpenStream_Stub(
  8272.     IRpcStubBuffer *This,
  8273.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8274.     PRPC_MESSAGE _pRpcMessage,
  8275.     DWORD *_pdwStubPhase);
  8276.  
  8277.  
  8278.  
  8279. #endif     /* __IWMReaderAdvanced2_INTERFACE_DEFINED__ */
  8280.  
  8281.  
  8282. #ifndef __IWMReaderAllocatorEx_INTERFACE_DEFINED__
  8283. #define __IWMReaderAllocatorEx_INTERFACE_DEFINED__
  8284.  
  8285. /* interface IWMReaderAllocatorEx */
  8286. /* [local][unique][helpstring][uuid][object] */ 
  8287.  
  8288.  
  8289. EXTERN_C const IID IID_IWMReaderAllocatorEx;
  8290.  
  8291. #if defined(__cplusplus) && !defined(CINTERFACE)
  8292.     
  8293.     MIDL_INTERFACE("9F762FA7-A22E-428d-93C9-AC82F3AAFE5A")
  8294.     IWMReaderAllocatorEx : public IUnknown
  8295.     {
  8296.     public:
  8297.         virtual HRESULT STDMETHODCALLTYPE AllocateForStreamEx( 
  8298.             /* [in] */ WORD wStreamNum,
  8299.             /* [in] */ DWORD cbBuffer,
  8300.             /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  8301.             /* [in] */ DWORD dwFlags,
  8302.             /* [in] */ QWORD cnsSampleTime,
  8303.             /* [in] */ QWORD cnsSampleDuration,
  8304.             /* [in] */ void __RPC_FAR *pvContext) = 0;
  8305.         
  8306.         virtual HRESULT STDMETHODCALLTYPE AllocateForOutputEx( 
  8307.             /* [in] */ DWORD dwOutputNum,
  8308.             /* [in] */ DWORD cbBuffer,
  8309.             /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  8310.             /* [in] */ DWORD dwFlags,
  8311.             /* [in] */ QWORD cnsSampleTime,
  8312.             /* [in] */ QWORD cnsSampleDuration,
  8313.             /* [in] */ void __RPC_FAR *pvContext) = 0;
  8314.         
  8315.     };
  8316.     
  8317. #else     /* C style interface */
  8318.  
  8319.     typedef struct IWMReaderAllocatorExVtbl
  8320.     {
  8321.         BEGIN_INTERFACE
  8322.         
  8323.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8324.             IWMReaderAllocatorEx __RPC_FAR * This,
  8325.             /* [in] */ REFIID riid,
  8326.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8327.         
  8328.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8329.             IWMReaderAllocatorEx __RPC_FAR * This);
  8330.         
  8331.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8332.             IWMReaderAllocatorEx __RPC_FAR * This);
  8333.         
  8334.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateForStreamEx )( 
  8335.             IWMReaderAllocatorEx __RPC_FAR * This,
  8336.             /* [in] */ WORD wStreamNum,
  8337.             /* [in] */ DWORD cbBuffer,
  8338.             /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  8339.             /* [in] */ DWORD dwFlags,
  8340.             /* [in] */ QWORD cnsSampleTime,
  8341.             /* [in] */ QWORD cnsSampleDuration,
  8342.             /* [in] */ void __RPC_FAR *pvContext);
  8343.         
  8344.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateForOutputEx )( 
  8345.             IWMReaderAllocatorEx __RPC_FAR * This,
  8346.             /* [in] */ DWORD dwOutputNum,
  8347.             /* [in] */ DWORD cbBuffer,
  8348.             /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  8349.             /* [in] */ DWORD dwFlags,
  8350.             /* [in] */ QWORD cnsSampleTime,
  8351.             /* [in] */ QWORD cnsSampleDuration,
  8352.             /* [in] */ void __RPC_FAR *pvContext);
  8353.         
  8354.         END_INTERFACE
  8355.     } IWMReaderAllocatorExVtbl;
  8356.  
  8357.     interface IWMReaderAllocatorEx
  8358.     {
  8359.         CONST_VTBL struct IWMReaderAllocatorExVtbl __RPC_FAR *lpVtbl;
  8360.     };
  8361.  
  8362.     
  8363.  
  8364. #ifdef COBJMACROS
  8365.  
  8366.  
  8367. #define IWMReaderAllocatorEx_QueryInterface(This,riid,ppvObject)    \
  8368.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8369.  
  8370. #define IWMReaderAllocatorEx_AddRef(This)    \
  8371.     (This)->lpVtbl -> AddRef(This)
  8372.  
  8373. #define IWMReaderAllocatorEx_Release(This)    \
  8374.     (This)->lpVtbl -> Release(This)
  8375.  
  8376.  
  8377. #define IWMReaderAllocatorEx_AllocateForStreamEx(This,wStreamNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext)    \
  8378.     (This)->lpVtbl -> AllocateForStreamEx(This,wStreamNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext)
  8379.  
  8380. #define IWMReaderAllocatorEx_AllocateForOutputEx(This,dwOutputNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext)    \
  8381.     (This)->lpVtbl -> AllocateForOutputEx(This,dwOutputNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext)
  8382.  
  8383. #endif /* COBJMACROS */
  8384.  
  8385.  
  8386. #endif     /* C style interface */
  8387.  
  8388.  
  8389.  
  8390. HRESULT STDMETHODCALLTYPE IWMReaderAllocatorEx_AllocateForStreamEx_Proxy( 
  8391.     IWMReaderAllocatorEx __RPC_FAR * This,
  8392.     /* [in] */ WORD wStreamNum,
  8393.     /* [in] */ DWORD cbBuffer,
  8394.     /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  8395.     /* [in] */ DWORD dwFlags,
  8396.     /* [in] */ QWORD cnsSampleTime,
  8397.     /* [in] */ QWORD cnsSampleDuration,
  8398.     /* [in] */ void __RPC_FAR *pvContext);
  8399.  
  8400.  
  8401. void __RPC_STUB IWMReaderAllocatorEx_AllocateForStreamEx_Stub(
  8402.     IRpcStubBuffer *This,
  8403.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8404.     PRPC_MESSAGE _pRpcMessage,
  8405.     DWORD *_pdwStubPhase);
  8406.  
  8407.  
  8408. HRESULT STDMETHODCALLTYPE IWMReaderAllocatorEx_AllocateForOutputEx_Proxy( 
  8409.     IWMReaderAllocatorEx __RPC_FAR * This,
  8410.     /* [in] */ DWORD dwOutputNum,
  8411.     /* [in] */ DWORD cbBuffer,
  8412.     /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  8413.     /* [in] */ DWORD dwFlags,
  8414.     /* [in] */ QWORD cnsSampleTime,
  8415.     /* [in] */ QWORD cnsSampleDuration,
  8416.     /* [in] */ void __RPC_FAR *pvContext);
  8417.  
  8418.  
  8419. void __RPC_STUB IWMReaderAllocatorEx_AllocateForOutputEx_Stub(
  8420.     IRpcStubBuffer *This,
  8421.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8422.     PRPC_MESSAGE _pRpcMessage,
  8423.     DWORD *_pdwStubPhase);
  8424.  
  8425.  
  8426.  
  8427. #endif     /* __IWMReaderAllocatorEx_INTERFACE_DEFINED__ */
  8428.  
  8429.  
  8430. #ifndef __IWMReaderTypeNegotiation_INTERFACE_DEFINED__
  8431. #define __IWMReaderTypeNegotiation_INTERFACE_DEFINED__
  8432.  
  8433. /* interface IWMReaderTypeNegotiation */
  8434. /* [local][unique][helpstring][uuid][object] */ 
  8435.  
  8436.  
  8437. EXTERN_C const IID IID_IWMReaderTypeNegotiation;
  8438.  
  8439. #if defined(__cplusplus) && !defined(CINTERFACE)
  8440.     
  8441.     MIDL_INTERFACE("FDBE5592-81A1-41ea-93BD-735CAD1ADC05")
  8442.     IWMReaderTypeNegotiation : public IUnknown
  8443.     {
  8444.     public:
  8445.         virtual HRESULT STDMETHODCALLTYPE TryOutputProps( 
  8446.             /* [in] */ DWORD dwOutputNum,
  8447.             /* [in] */ IWMOutputMediaProps __RPC_FAR *pOutput) = 0;
  8448.         
  8449.     };
  8450.     
  8451. #else     /* C style interface */
  8452.  
  8453.     typedef struct IWMReaderTypeNegotiationVtbl
  8454.     {
  8455.         BEGIN_INTERFACE
  8456.         
  8457.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8458.             IWMReaderTypeNegotiation __RPC_FAR * This,
  8459.             /* [in] */ REFIID riid,
  8460.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8461.         
  8462.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8463.             IWMReaderTypeNegotiation __RPC_FAR * This);
  8464.         
  8465.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8466.             IWMReaderTypeNegotiation __RPC_FAR * This);
  8467.         
  8468.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TryOutputProps )( 
  8469.             IWMReaderTypeNegotiation __RPC_FAR * This,
  8470.             /* [in] */ DWORD dwOutputNum,
  8471.             /* [in] */ IWMOutputMediaProps __RPC_FAR *pOutput);
  8472.         
  8473.         END_INTERFACE
  8474.     } IWMReaderTypeNegotiationVtbl;
  8475.  
  8476.     interface IWMReaderTypeNegotiation
  8477.     {
  8478.         CONST_VTBL struct IWMReaderTypeNegotiationVtbl __RPC_FAR *lpVtbl;
  8479.     };
  8480.  
  8481.     
  8482.  
  8483. #ifdef COBJMACROS
  8484.  
  8485.  
  8486. #define IWMReaderTypeNegotiation_QueryInterface(This,riid,ppvObject)    \
  8487.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8488.  
  8489. #define IWMReaderTypeNegotiation_AddRef(This)    \
  8490.     (This)->lpVtbl -> AddRef(This)
  8491.  
  8492. #define IWMReaderTypeNegotiation_Release(This)    \
  8493.     (This)->lpVtbl -> Release(This)
  8494.  
  8495.  
  8496. #define IWMReaderTypeNegotiation_TryOutputProps(This,dwOutputNum,pOutput)    \
  8497.     (This)->lpVtbl -> TryOutputProps(This,dwOutputNum,pOutput)
  8498.  
  8499. #endif /* COBJMACROS */
  8500.  
  8501.  
  8502. #endif     /* C style interface */
  8503.  
  8504.  
  8505.  
  8506. HRESULT STDMETHODCALLTYPE IWMReaderTypeNegotiation_TryOutputProps_Proxy( 
  8507.     IWMReaderTypeNegotiation __RPC_FAR * This,
  8508.     /* [in] */ DWORD dwOutputNum,
  8509.     /* [in] */ IWMOutputMediaProps __RPC_FAR *pOutput);
  8510.  
  8511.  
  8512. void __RPC_STUB IWMReaderTypeNegotiation_TryOutputProps_Stub(
  8513.     IRpcStubBuffer *This,
  8514.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8515.     PRPC_MESSAGE _pRpcMessage,
  8516.     DWORD *_pdwStubPhase);
  8517.  
  8518.  
  8519.  
  8520. #endif     /* __IWMReaderTypeNegotiation_INTERFACE_DEFINED__ */
  8521.  
  8522.  
  8523. #ifndef __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__
  8524. #define __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__
  8525.  
  8526. /* interface IWMReaderCallbackAdvanced */
  8527. /* [local][unique][helpstring][uuid][object] */ 
  8528.  
  8529.  
  8530. EXTERN_C const IID IID_IWMReaderCallbackAdvanced;
  8531.  
  8532. #if defined(__cplusplus) && !defined(CINTERFACE)
  8533.     
  8534.     MIDL_INTERFACE("96406BEB-2B2B-11d3-B36B-00C04F6108FF")
  8535.     IWMReaderCallbackAdvanced : public IUnknown
  8536.     {
  8537.     public:
  8538.         virtual HRESULT STDMETHODCALLTYPE OnStreamSample( 
  8539.             /* [in] */ WORD wStreamNum,
  8540.             /* [in] */ QWORD cnsSampleTime,
  8541.             /* [in] */ QWORD cnsSampleDuration,
  8542.             /* [in] */ DWORD dwFlags,
  8543.             /* [in] */ INSSBuffer __RPC_FAR *pSample,
  8544.             /* [in] */ void __RPC_FAR *pvContext) = 0;
  8545.         
  8546.         virtual HRESULT STDMETHODCALLTYPE OnTime( 
  8547.             /* [in] */ QWORD cnsCurrentTime,
  8548.             /* [in] */ void __RPC_FAR *pvContext) = 0;
  8549.         
  8550.         virtual HRESULT STDMETHODCALLTYPE OnStreamSelection( 
  8551.             /* [in] */ WORD wStreamCount,
  8552.             /* [in] */ WORD __RPC_FAR *pStreamNumbers,
  8553.             /* [in] */ WMT_STREAM_SELECTION __RPC_FAR *pSelections,
  8554.             /* [in] */ void __RPC_FAR *pvContext) = 0;
  8555.         
  8556.         virtual HRESULT STDMETHODCALLTYPE OnOutputPropsChanged( 
  8557.             /* [in] */ DWORD dwOutputNum,
  8558.             /* [in] */ WM_MEDIA_TYPE __RPC_FAR *pMediaType,
  8559.             /* [in] */ void __RPC_FAR *pvContext) = 0;
  8560.         
  8561.         virtual HRESULT STDMETHODCALLTYPE AllocateForStream( 
  8562.             /* [in] */ WORD wStreamNum,
  8563.             /* [in] */ DWORD cbBuffer,
  8564.             /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  8565.             /* [in] */ void __RPC_FAR *pvContext) = 0;
  8566.         
  8567.         virtual HRESULT STDMETHODCALLTYPE AllocateForOutput( 
  8568.             /* [in] */ DWORD dwOutputNum,
  8569.             /* [in] */ DWORD cbBuffer,
  8570.             /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  8571.             /* [in] */ void __RPC_FAR *pvContext) = 0;
  8572.         
  8573.     };
  8574.     
  8575. #else     /* C style interface */
  8576.  
  8577.     typedef struct IWMReaderCallbackAdvancedVtbl
  8578.     {
  8579.         BEGIN_INTERFACE
  8580.         
  8581.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8582.             IWMReaderCallbackAdvanced __RPC_FAR * This,
  8583.             /* [in] */ REFIID riid,
  8584.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8585.         
  8586.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8587.             IWMReaderCallbackAdvanced __RPC_FAR * This);
  8588.         
  8589.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8590.             IWMReaderCallbackAdvanced __RPC_FAR * This);
  8591.         
  8592.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnStreamSample )( 
  8593.             IWMReaderCallbackAdvanced __RPC_FAR * This,
  8594.             /* [in] */ WORD wStreamNum,
  8595.             /* [in] */ QWORD cnsSampleTime,
  8596.             /* [in] */ QWORD cnsSampleDuration,
  8597.             /* [in] */ DWORD dwFlags,
  8598.             /* [in] */ INSSBuffer __RPC_FAR *pSample,
  8599.             /* [in] */ void __RPC_FAR *pvContext);
  8600.         
  8601.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnTime )( 
  8602.             IWMReaderCallbackAdvanced __RPC_FAR * This,
  8603.             /* [in] */ QWORD cnsCurrentTime,
  8604.             /* [in] */ void __RPC_FAR *pvContext);
  8605.         
  8606.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnStreamSelection )( 
  8607.             IWMReaderCallbackAdvanced __RPC_FAR * This,
  8608.             /* [in] */ WORD wStreamCount,
  8609.             /* [in] */ WORD __RPC_FAR *pStreamNumbers,
  8610.             /* [in] */ WMT_STREAM_SELECTION __RPC_FAR *pSelections,
  8611.             /* [in] */ void __RPC_FAR *pvContext);
  8612.         
  8613.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnOutputPropsChanged )( 
  8614.             IWMReaderCallbackAdvanced __RPC_FAR * This,
  8615.             /* [in] */ DWORD dwOutputNum,
  8616.             /* [in] */ WM_MEDIA_TYPE __RPC_FAR *pMediaType,
  8617.             /* [in] */ void __RPC_FAR *pvContext);
  8618.         
  8619.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateForStream )( 
  8620.             IWMReaderCallbackAdvanced __RPC_FAR * This,
  8621.             /* [in] */ WORD wStreamNum,
  8622.             /* [in] */ DWORD cbBuffer,
  8623.             /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  8624.             /* [in] */ void __RPC_FAR *pvContext);
  8625.         
  8626.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllocateForOutput )( 
  8627.             IWMReaderCallbackAdvanced __RPC_FAR * This,
  8628.             /* [in] */ DWORD dwOutputNum,
  8629.             /* [in] */ DWORD cbBuffer,
  8630.             /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  8631.             /* [in] */ void __RPC_FAR *pvContext);
  8632.         
  8633.         END_INTERFACE
  8634.     } IWMReaderCallbackAdvancedVtbl;
  8635.  
  8636.     interface IWMReaderCallbackAdvanced
  8637.     {
  8638.         CONST_VTBL struct IWMReaderCallbackAdvancedVtbl __RPC_FAR *lpVtbl;
  8639.     };
  8640.  
  8641.     
  8642.  
  8643. #ifdef COBJMACROS
  8644.  
  8645.  
  8646. #define IWMReaderCallbackAdvanced_QueryInterface(This,riid,ppvObject)    \
  8647.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8648.  
  8649. #define IWMReaderCallbackAdvanced_AddRef(This)    \
  8650.     (This)->lpVtbl -> AddRef(This)
  8651.  
  8652. #define IWMReaderCallbackAdvanced_Release(This)    \
  8653.     (This)->lpVtbl -> Release(This)
  8654.  
  8655.  
  8656. #define IWMReaderCallbackAdvanced_OnStreamSample(This,wStreamNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext)    \
  8657.     (This)->lpVtbl -> OnStreamSample(This,wStreamNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext)
  8658.  
  8659. #define IWMReaderCallbackAdvanced_OnTime(This,cnsCurrentTime,pvContext)    \
  8660.     (This)->lpVtbl -> OnTime(This,cnsCurrentTime,pvContext)
  8661.  
  8662. #define IWMReaderCallbackAdvanced_OnStreamSelection(This,wStreamCount,pStreamNumbers,pSelections,pvContext)    \
  8663.     (This)->lpVtbl -> OnStreamSelection(This,wStreamCount,pStreamNumbers,pSelections,pvContext)
  8664.  
  8665. #define IWMReaderCallbackAdvanced_OnOutputPropsChanged(This,dwOutputNum,pMediaType,pvContext)    \
  8666.     (This)->lpVtbl -> OnOutputPropsChanged(This,dwOutputNum,pMediaType,pvContext)
  8667.  
  8668. #define IWMReaderCallbackAdvanced_AllocateForStream(This,wStreamNum,cbBuffer,ppBuffer,pvContext)    \
  8669.     (This)->lpVtbl -> AllocateForStream(This,wStreamNum,cbBuffer,ppBuffer,pvContext)
  8670.  
  8671. #define IWMReaderCallbackAdvanced_AllocateForOutput(This,dwOutputNum,cbBuffer,ppBuffer,pvContext)    \
  8672.     (This)->lpVtbl -> AllocateForOutput(This,dwOutputNum,cbBuffer,ppBuffer,pvContext)
  8673.  
  8674. #endif /* COBJMACROS */
  8675.  
  8676.  
  8677. #endif     /* C style interface */
  8678.  
  8679.  
  8680.  
  8681. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_OnStreamSample_Proxy( 
  8682.     IWMReaderCallbackAdvanced __RPC_FAR * This,
  8683.     /* [in] */ WORD wStreamNum,
  8684.     /* [in] */ QWORD cnsSampleTime,
  8685.     /* [in] */ QWORD cnsSampleDuration,
  8686.     /* [in] */ DWORD dwFlags,
  8687.     /* [in] */ INSSBuffer __RPC_FAR *pSample,
  8688.     /* [in] */ void __RPC_FAR *pvContext);
  8689.  
  8690.  
  8691. void __RPC_STUB IWMReaderCallbackAdvanced_OnStreamSample_Stub(
  8692.     IRpcStubBuffer *This,
  8693.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8694.     PRPC_MESSAGE _pRpcMessage,
  8695.     DWORD *_pdwStubPhase);
  8696.  
  8697.  
  8698. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_OnTime_Proxy( 
  8699.     IWMReaderCallbackAdvanced __RPC_FAR * This,
  8700.     /* [in] */ QWORD cnsCurrentTime,
  8701.     /* [in] */ void __RPC_FAR *pvContext);
  8702.  
  8703.  
  8704. void __RPC_STUB IWMReaderCallbackAdvanced_OnTime_Stub(
  8705.     IRpcStubBuffer *This,
  8706.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8707.     PRPC_MESSAGE _pRpcMessage,
  8708.     DWORD *_pdwStubPhase);
  8709.  
  8710.  
  8711. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_OnStreamSelection_Proxy( 
  8712.     IWMReaderCallbackAdvanced __RPC_FAR * This,
  8713.     /* [in] */ WORD wStreamCount,
  8714.     /* [in] */ WORD __RPC_FAR *pStreamNumbers,
  8715.     /* [in] */ WMT_STREAM_SELECTION __RPC_FAR *pSelections,
  8716.     /* [in] */ void __RPC_FAR *pvContext);
  8717.  
  8718.  
  8719. void __RPC_STUB IWMReaderCallbackAdvanced_OnStreamSelection_Stub(
  8720.     IRpcStubBuffer *This,
  8721.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8722.     PRPC_MESSAGE _pRpcMessage,
  8723.     DWORD *_pdwStubPhase);
  8724.  
  8725.  
  8726. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_OnOutputPropsChanged_Proxy( 
  8727.     IWMReaderCallbackAdvanced __RPC_FAR * This,
  8728.     /* [in] */ DWORD dwOutputNum,
  8729.     /* [in] */ WM_MEDIA_TYPE __RPC_FAR *pMediaType,
  8730.     /* [in] */ void __RPC_FAR *pvContext);
  8731.  
  8732.  
  8733. void __RPC_STUB IWMReaderCallbackAdvanced_OnOutputPropsChanged_Stub(
  8734.     IRpcStubBuffer *This,
  8735.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8736.     PRPC_MESSAGE _pRpcMessage,
  8737.     DWORD *_pdwStubPhase);
  8738.  
  8739.  
  8740. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_AllocateForStream_Proxy( 
  8741.     IWMReaderCallbackAdvanced __RPC_FAR * This,
  8742.     /* [in] */ WORD wStreamNum,
  8743.     /* [in] */ DWORD cbBuffer,
  8744.     /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  8745.     /* [in] */ void __RPC_FAR *pvContext);
  8746.  
  8747.  
  8748. void __RPC_STUB IWMReaderCallbackAdvanced_AllocateForStream_Stub(
  8749.     IRpcStubBuffer *This,
  8750.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8751.     PRPC_MESSAGE _pRpcMessage,
  8752.     DWORD *_pdwStubPhase);
  8753.  
  8754.  
  8755. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_AllocateForOutput_Proxy( 
  8756.     IWMReaderCallbackAdvanced __RPC_FAR * This,
  8757.     /* [in] */ DWORD dwOutputNum,
  8758.     /* [in] */ DWORD cbBuffer,
  8759.     /* [out] */ INSSBuffer __RPC_FAR *__RPC_FAR *ppBuffer,
  8760.     /* [in] */ void __RPC_FAR *pvContext);
  8761.  
  8762.  
  8763. void __RPC_STUB IWMReaderCallbackAdvanced_AllocateForOutput_Stub(
  8764.     IRpcStubBuffer *This,
  8765.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8766.     PRPC_MESSAGE _pRpcMessage,
  8767.     DWORD *_pdwStubPhase);
  8768.  
  8769.  
  8770.  
  8771. #endif     /* __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__ */
  8772.  
  8773.  
  8774. #ifndef __IWMDRMReader_INTERFACE_DEFINED__
  8775. #define __IWMDRMReader_INTERFACE_DEFINED__
  8776.  
  8777. /* interface IWMDRMReader */
  8778. /* [local][unique][helpstring][uuid][object] */ 
  8779.  
  8780.  
  8781. EXTERN_C const IID IID_IWMDRMReader;
  8782.  
  8783. #if defined(__cplusplus) && !defined(CINTERFACE)
  8784.     
  8785.     MIDL_INTERFACE("D2827540-3EE7-432c-B14C-DC17F085D3B3")
  8786.     IWMDRMReader : public IUnknown
  8787.     {
  8788.     public:
  8789.         virtual HRESULT STDMETHODCALLTYPE AcquireLicense( 
  8790.             /* [in] */ DWORD dwFlags) = 0;
  8791.         
  8792.         virtual HRESULT STDMETHODCALLTYPE CancelLicenseAcquisition( void) = 0;
  8793.         
  8794.         virtual HRESULT STDMETHODCALLTYPE Individualize( 
  8795.             /* [in] */ DWORD dwFlags) = 0;
  8796.         
  8797.         virtual HRESULT STDMETHODCALLTYPE CancelIndividualization( void) = 0;
  8798.         
  8799.         virtual HRESULT STDMETHODCALLTYPE MonitorLicenseAcquisition( void) = 0;
  8800.         
  8801.         virtual HRESULT STDMETHODCALLTYPE CancelMonitorLicenseAcquisition( void) = 0;
  8802.         
  8803.         virtual HRESULT STDMETHODCALLTYPE SetDRMProperty( 
  8804.             /* [in] */ LPCWSTR pwstrName,
  8805.             /* [in] */ WMT_ATTR_DATATYPE dwType,
  8806.             /* [in] */ const BYTE __RPC_FAR *pValue,
  8807.             /* [in] */ WORD cbLength) = 0;
  8808.         
  8809.         virtual HRESULT STDMETHODCALLTYPE GetDRMProperty( 
  8810.             /* [in] */ LPCWSTR pwstrName,
  8811.             /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pdwType,
  8812.             /* [out] */ BYTE __RPC_FAR *pValue,
  8813.             /* [out] */ WORD __RPC_FAR *pcbLength) = 0;
  8814.         
  8815.     };
  8816.     
  8817. #else     /* C style interface */
  8818.  
  8819.     typedef struct IWMDRMReaderVtbl
  8820.     {
  8821.         BEGIN_INTERFACE
  8822.         
  8823.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8824.             IWMDRMReader __RPC_FAR * This,
  8825.             /* [in] */ REFIID riid,
  8826.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8827.         
  8828.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8829.             IWMDRMReader __RPC_FAR * This);
  8830.         
  8831.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8832.             IWMDRMReader __RPC_FAR * This);
  8833.         
  8834.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AcquireLicense )( 
  8835.             IWMDRMReader __RPC_FAR * This,
  8836.             /* [in] */ DWORD dwFlags);
  8837.         
  8838.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelLicenseAcquisition )( 
  8839.             IWMDRMReader __RPC_FAR * This);
  8840.         
  8841.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Individualize )( 
  8842.             IWMDRMReader __RPC_FAR * This,
  8843.             /* [in] */ DWORD dwFlags);
  8844.         
  8845.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelIndividualization )( 
  8846.             IWMDRMReader __RPC_FAR * This);
  8847.         
  8848.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MonitorLicenseAcquisition )( 
  8849.             IWMDRMReader __RPC_FAR * This);
  8850.         
  8851.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelMonitorLicenseAcquisition )( 
  8852.             IWMDRMReader __RPC_FAR * This);
  8853.         
  8854.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDRMProperty )( 
  8855.             IWMDRMReader __RPC_FAR * This,
  8856.             /* [in] */ LPCWSTR pwstrName,
  8857.             /* [in] */ WMT_ATTR_DATATYPE dwType,
  8858.             /* [in] */ const BYTE __RPC_FAR *pValue,
  8859.             /* [in] */ WORD cbLength);
  8860.         
  8861.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDRMProperty )( 
  8862.             IWMDRMReader __RPC_FAR * This,
  8863.             /* [in] */ LPCWSTR pwstrName,
  8864.             /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pdwType,
  8865.             /* [out] */ BYTE __RPC_FAR *pValue,
  8866.             /* [out] */ WORD __RPC_FAR *pcbLength);
  8867.         
  8868.         END_INTERFACE
  8869.     } IWMDRMReaderVtbl;
  8870.  
  8871.     interface IWMDRMReader
  8872.     {
  8873.         CONST_VTBL struct IWMDRMReaderVtbl __RPC_FAR *lpVtbl;
  8874.     };
  8875.  
  8876.     
  8877.  
  8878. #ifdef COBJMACROS
  8879.  
  8880.  
  8881. #define IWMDRMReader_QueryInterface(This,riid,ppvObject)    \
  8882.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8883.  
  8884. #define IWMDRMReader_AddRef(This)    \
  8885.     (This)->lpVtbl -> AddRef(This)
  8886.  
  8887. #define IWMDRMReader_Release(This)    \
  8888.     (This)->lpVtbl -> Release(This)
  8889.  
  8890.  
  8891. #define IWMDRMReader_AcquireLicense(This,dwFlags)    \
  8892.     (This)->lpVtbl -> AcquireLicense(This,dwFlags)
  8893.  
  8894. #define IWMDRMReader_CancelLicenseAcquisition(This)    \
  8895.     (This)->lpVtbl -> CancelLicenseAcquisition(This)
  8896.  
  8897. #define IWMDRMReader_Individualize(This,dwFlags)    \
  8898.     (This)->lpVtbl -> Individualize(This,dwFlags)
  8899.  
  8900. #define IWMDRMReader_CancelIndividualization(This)    \
  8901.     (This)->lpVtbl -> CancelIndividualization(This)
  8902.  
  8903. #define IWMDRMReader_MonitorLicenseAcquisition(This)    \
  8904.     (This)->lpVtbl -> MonitorLicenseAcquisition(This)
  8905.  
  8906. #define IWMDRMReader_CancelMonitorLicenseAcquisition(This)    \
  8907.     (This)->lpVtbl -> CancelMonitorLicenseAcquisition(This)
  8908.  
  8909. #define IWMDRMReader_SetDRMProperty(This,pwstrName,dwType,pValue,cbLength)    \
  8910.     (This)->lpVtbl -> SetDRMProperty(This,pwstrName,dwType,pValue,cbLength)
  8911.  
  8912. #define IWMDRMReader_GetDRMProperty(This,pwstrName,pdwType,pValue,pcbLength)    \
  8913.     (This)->lpVtbl -> GetDRMProperty(This,pwstrName,pdwType,pValue,pcbLength)
  8914.  
  8915. #endif /* COBJMACROS */
  8916.  
  8917.  
  8918. #endif     /* C style interface */
  8919.  
  8920.  
  8921.  
  8922. HRESULT STDMETHODCALLTYPE IWMDRMReader_AcquireLicense_Proxy( 
  8923.     IWMDRMReader __RPC_FAR * This,
  8924.     /* [in] */ DWORD dwFlags);
  8925.  
  8926.  
  8927. void __RPC_STUB IWMDRMReader_AcquireLicense_Stub(
  8928.     IRpcStubBuffer *This,
  8929.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8930.     PRPC_MESSAGE _pRpcMessage,
  8931.     DWORD *_pdwStubPhase);
  8932.  
  8933.  
  8934. HRESULT STDMETHODCALLTYPE IWMDRMReader_CancelLicenseAcquisition_Proxy( 
  8935.     IWMDRMReader __RPC_FAR * This);
  8936.  
  8937.  
  8938. void __RPC_STUB IWMDRMReader_CancelLicenseAcquisition_Stub(
  8939.     IRpcStubBuffer *This,
  8940.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8941.     PRPC_MESSAGE _pRpcMessage,
  8942.     DWORD *_pdwStubPhase);
  8943.  
  8944.  
  8945. HRESULT STDMETHODCALLTYPE IWMDRMReader_Individualize_Proxy( 
  8946.     IWMDRMReader __RPC_FAR * This,
  8947.     /* [in] */ DWORD dwFlags);
  8948.  
  8949.  
  8950. void __RPC_STUB IWMDRMReader_Individualize_Stub(
  8951.     IRpcStubBuffer *This,
  8952.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8953.     PRPC_MESSAGE _pRpcMessage,
  8954.     DWORD *_pdwStubPhase);
  8955.  
  8956.  
  8957. HRESULT STDMETHODCALLTYPE IWMDRMReader_CancelIndividualization_Proxy( 
  8958.     IWMDRMReader __RPC_FAR * This);
  8959.  
  8960.  
  8961. void __RPC_STUB IWMDRMReader_CancelIndividualization_Stub(
  8962.     IRpcStubBuffer *This,
  8963.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8964.     PRPC_MESSAGE _pRpcMessage,
  8965.     DWORD *_pdwStubPhase);
  8966.  
  8967.  
  8968. HRESULT STDMETHODCALLTYPE IWMDRMReader_MonitorLicenseAcquisition_Proxy( 
  8969.     IWMDRMReader __RPC_FAR * This);
  8970.  
  8971.  
  8972. void __RPC_STUB IWMDRMReader_MonitorLicenseAcquisition_Stub(
  8973.     IRpcStubBuffer *This,
  8974.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8975.     PRPC_MESSAGE _pRpcMessage,
  8976.     DWORD *_pdwStubPhase);
  8977.  
  8978.  
  8979. HRESULT STDMETHODCALLTYPE IWMDRMReader_CancelMonitorLicenseAcquisition_Proxy( 
  8980.     IWMDRMReader __RPC_FAR * This);
  8981.  
  8982.  
  8983. void __RPC_STUB IWMDRMReader_CancelMonitorLicenseAcquisition_Stub(
  8984.     IRpcStubBuffer *This,
  8985.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8986.     PRPC_MESSAGE _pRpcMessage,
  8987.     DWORD *_pdwStubPhase);
  8988.  
  8989.  
  8990. HRESULT STDMETHODCALLTYPE IWMDRMReader_SetDRMProperty_Proxy( 
  8991.     IWMDRMReader __RPC_FAR * This,
  8992.     /* [in] */ LPCWSTR pwstrName,
  8993.     /* [in] */ WMT_ATTR_DATATYPE dwType,
  8994.     /* [in] */ const BYTE __RPC_FAR *pValue,
  8995.     /* [in] */ WORD cbLength);
  8996.  
  8997.  
  8998. void __RPC_STUB IWMDRMReader_SetDRMProperty_Stub(
  8999.     IRpcStubBuffer *This,
  9000.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9001.     PRPC_MESSAGE _pRpcMessage,
  9002.     DWORD *_pdwStubPhase);
  9003.  
  9004.  
  9005. HRESULT STDMETHODCALLTYPE IWMDRMReader_GetDRMProperty_Proxy( 
  9006.     IWMDRMReader __RPC_FAR * This,
  9007.     /* [in] */ LPCWSTR pwstrName,
  9008.     /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pdwType,
  9009.     /* [out] */ BYTE __RPC_FAR *pValue,
  9010.     /* [out] */ WORD __RPC_FAR *pcbLength);
  9011.  
  9012.  
  9013. void __RPC_STUB IWMDRMReader_GetDRMProperty_Stub(
  9014.     IRpcStubBuffer *This,
  9015.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9016.     PRPC_MESSAGE _pRpcMessage,
  9017.     DWORD *_pdwStubPhase);
  9018.  
  9019.  
  9020.  
  9021. #endif     /* __IWMDRMReader_INTERFACE_DEFINED__ */
  9022.  
  9023.  
  9024. #ifndef __IWMReaderNetworkConfig_INTERFACE_DEFINED__
  9025. #define __IWMReaderNetworkConfig_INTERFACE_DEFINED__
  9026.  
  9027. /* interface IWMReaderNetworkConfig */
  9028. /* [local][unique][helpstring][uuid][object] */ 
  9029.  
  9030.  
  9031. EXTERN_C const IID IID_IWMReaderNetworkConfig;
  9032.  
  9033. #if defined(__cplusplus) && !defined(CINTERFACE)
  9034.     
  9035.     MIDL_INTERFACE("96406BEC-2B2B-11d3-B36B-00C04F6108FF")
  9036.     IWMReaderNetworkConfig : public IUnknown
  9037.     {
  9038.     public:
  9039.         virtual HRESULT STDMETHODCALLTYPE GetBufferingTime( 
  9040.             /* [out] */ QWORD __RPC_FAR *pcnsBufferingTime) = 0;
  9041.         
  9042.         virtual HRESULT STDMETHODCALLTYPE SetBufferingTime( 
  9043.             /* [in] */ QWORD cnsBufferingTime) = 0;
  9044.         
  9045.         virtual HRESULT STDMETHODCALLTYPE GetUDPPortRanges( 
  9046.             /* [out] */ WM_PORT_NUMBER_RANGE __RPC_FAR *pRangeArray,
  9047.             /* [out][in] */ DWORD __RPC_FAR *pcRanges) = 0;
  9048.         
  9049.         virtual HRESULT STDMETHODCALLTYPE SetUDPPortRanges( 
  9050.             /* [in] */ WM_PORT_NUMBER_RANGE __RPC_FAR *pRangeArray,
  9051.             /* [in] */ DWORD cRanges) = 0;
  9052.         
  9053.         virtual HRESULT STDMETHODCALLTYPE GetProxySettings( 
  9054.             LPCWSTR pwszProtocol,
  9055.             WMT_PROXY_SETTINGS __RPC_FAR *pProxySetting) = 0;
  9056.         
  9057.         virtual HRESULT STDMETHODCALLTYPE SetProxySettings( 
  9058.             LPCWSTR pwszProtocol,
  9059.             WMT_PROXY_SETTINGS ProxySetting) = 0;
  9060.         
  9061.         virtual HRESULT STDMETHODCALLTYPE GetProxyHostName( 
  9062.             /* [in] */ LPCWSTR pwszProtocol,
  9063.             /* [out] */ WCHAR __RPC_FAR *pwszHostName,
  9064.             /* [out][in] */ DWORD __RPC_FAR *pcchHostName) = 0;
  9065.         
  9066.         virtual HRESULT STDMETHODCALLTYPE SetProxyHostName( 
  9067.             /* [in] */ LPCWSTR pwszProtocol,
  9068.             /* [in] */ LPCWSTR pwszHostName) = 0;
  9069.         
  9070.         virtual HRESULT STDMETHODCALLTYPE GetProxyPort( 
  9071.             /* [in] */ LPCWSTR pwszProtocol,
  9072.             /* [out] */ DWORD __RPC_FAR *pdwPort) = 0;
  9073.         
  9074.         virtual HRESULT STDMETHODCALLTYPE SetProxyPort( 
  9075.             /* [in] */ LPCWSTR pwszProtocol,
  9076.             /* [in] */ DWORD dwPort) = 0;
  9077.         
  9078.         virtual HRESULT STDMETHODCALLTYPE GetProxyExceptionList( 
  9079.             /* [in] */ LPCWSTR pwszProtocol,
  9080.             /* [out] */ WCHAR __RPC_FAR *pwszExceptionList,
  9081.             /* [out][in] */ DWORD __RPC_FAR *pcchExceptionList) = 0;
  9082.         
  9083.         virtual HRESULT STDMETHODCALLTYPE SetProxyExceptionList( 
  9084.             /* [in] */ LPCWSTR pwszProtocol,
  9085.             /* [in] */ LPCWSTR pwszExceptionList) = 0;
  9086.         
  9087.         virtual HRESULT STDMETHODCALLTYPE GetProxyBypassForLocal( 
  9088.             /* [in] */ LPCWSTR pwszProtocol,
  9089.             /* [out] */ BOOL __RPC_FAR *pfBypassForLocal) = 0;
  9090.         
  9091.         virtual HRESULT STDMETHODCALLTYPE SetProxyBypassForLocal( 
  9092.             /* [in] */ LPCWSTR pwszProtocol,
  9093.             /* [in] */ BOOL fBypassForLocal) = 0;
  9094.         
  9095.         virtual HRESULT STDMETHODCALLTYPE GetForceRerunAutoProxyDetection( 
  9096.             /* [out] */ BOOL __RPC_FAR *pfForceRerunDetection) = 0;
  9097.         
  9098.         virtual HRESULT STDMETHODCALLTYPE SetForceRerunAutoProxyDetection( 
  9099.             /* [in] */ BOOL fForceRerunDetection) = 0;
  9100.         
  9101.         virtual HRESULT STDMETHODCALLTYPE GetEnableMulticast( 
  9102.             /* [out] */ BOOL __RPC_FAR *pfEnableMulticast) = 0;
  9103.         
  9104.         virtual HRESULT STDMETHODCALLTYPE SetEnableMulticast( 
  9105.             /* [in] */ BOOL fEnableMulticast) = 0;
  9106.         
  9107.         virtual HRESULT STDMETHODCALLTYPE GetEnableHTTP( 
  9108.             /* [out] */ BOOL __RPC_FAR *pfEnableHTTP) = 0;
  9109.         
  9110.         virtual HRESULT STDMETHODCALLTYPE SetEnableHTTP( 
  9111.             /* [in] */ BOOL fEnableHTTP) = 0;
  9112.         
  9113.         virtual HRESULT STDMETHODCALLTYPE GetEnableUDP( 
  9114.             /* [out] */ BOOL __RPC_FAR *pfEnableUDP) = 0;
  9115.         
  9116.         virtual HRESULT STDMETHODCALLTYPE SetEnableUDP( 
  9117.             /* [in] */ BOOL fEnableUDP) = 0;
  9118.         
  9119.         virtual HRESULT STDMETHODCALLTYPE GetEnableTCP( 
  9120.             /* [out] */ BOOL __RPC_FAR *pfEnableTCP) = 0;
  9121.         
  9122.         virtual HRESULT STDMETHODCALLTYPE SetEnableTCP( 
  9123.             /* [in] */ BOOL fEnableTCP) = 0;
  9124.         
  9125.         virtual HRESULT STDMETHODCALLTYPE ResetProtocolRollover( void) = 0;
  9126.         
  9127.         virtual HRESULT STDMETHODCALLTYPE GetConnectionBandwidth( 
  9128.             /* [out] */ DWORD __RPC_FAR *pdwConnectionBandwidth) = 0;
  9129.         
  9130.         virtual HRESULT STDMETHODCALLTYPE SetConnectionBandwidth( 
  9131.             /* [in] */ DWORD dwConnectionBandwidth) = 0;
  9132.         
  9133.         virtual HRESULT STDMETHODCALLTYPE GetNumProtocolsSupported( 
  9134.             /* [out] */ DWORD __RPC_FAR *pcProtocols) = 0;
  9135.         
  9136.         virtual HRESULT STDMETHODCALLTYPE GetSupportedProtocolName( 
  9137.             /* [in] */ DWORD dwProtocolNum,
  9138.             /* [out] */ WCHAR __RPC_FAR *pwszProtocolName,
  9139.             /* [out][in] */ DWORD __RPC_FAR *pcchProtocolName) = 0;
  9140.         
  9141.         virtual HRESULT STDMETHODCALLTYPE AddLoggingUrl( 
  9142.             /* [in] */ LPCWSTR pwszUrl) = 0;
  9143.         
  9144.         virtual HRESULT STDMETHODCALLTYPE GetLoggingUrl( 
  9145.             /* [in] */ DWORD dwIndex,
  9146.             /* [out] */ LPWSTR pwszUrl,
  9147.             /* [out][in] */ DWORD __RPC_FAR *pcchUrl) = 0;
  9148.         
  9149.         virtual HRESULT STDMETHODCALLTYPE GetLoggingUrlCount( 
  9150.             /* [out] */ DWORD __RPC_FAR *pdwUrlCount) = 0;
  9151.         
  9152.         virtual HRESULT STDMETHODCALLTYPE ResetLoggingUrlList( void) = 0;
  9153.         
  9154.     };
  9155.     
  9156. #else     /* C style interface */
  9157.  
  9158.     typedef struct IWMReaderNetworkConfigVtbl
  9159.     {
  9160.         BEGIN_INTERFACE
  9161.         
  9162.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9163.             IWMReaderNetworkConfig __RPC_FAR * This,
  9164.             /* [in] */ REFIID riid,
  9165.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9166.         
  9167.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9168.             IWMReaderNetworkConfig __RPC_FAR * This);
  9169.         
  9170.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9171.             IWMReaderNetworkConfig __RPC_FAR * This);
  9172.         
  9173.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBufferingTime )( 
  9174.             IWMReaderNetworkConfig __RPC_FAR * This,
  9175.             /* [out] */ QWORD __RPC_FAR *pcnsBufferingTime);
  9176.         
  9177.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBufferingTime )( 
  9178.             IWMReaderNetworkConfig __RPC_FAR * This,
  9179.             /* [in] */ QWORD cnsBufferingTime);
  9180.         
  9181.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetUDPPortRanges )( 
  9182.             IWMReaderNetworkConfig __RPC_FAR * This,
  9183.             /* [out] */ WM_PORT_NUMBER_RANGE __RPC_FAR *pRangeArray,
  9184.             /* [out][in] */ DWORD __RPC_FAR *pcRanges);
  9185.         
  9186.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetUDPPortRanges )( 
  9187.             IWMReaderNetworkConfig __RPC_FAR * This,
  9188.             /* [in] */ WM_PORT_NUMBER_RANGE __RPC_FAR *pRangeArray,
  9189.             /* [in] */ DWORD cRanges);
  9190.         
  9191.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProxySettings )( 
  9192.             IWMReaderNetworkConfig __RPC_FAR * This,
  9193.             LPCWSTR pwszProtocol,
  9194.             WMT_PROXY_SETTINGS __RPC_FAR *pProxySetting);
  9195.         
  9196.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProxySettings )( 
  9197.             IWMReaderNetworkConfig __RPC_FAR * This,
  9198.             LPCWSTR pwszProtocol,
  9199.             WMT_PROXY_SETTINGS ProxySetting);
  9200.         
  9201.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProxyHostName )( 
  9202.             IWMReaderNetworkConfig __RPC_FAR * This,
  9203.             /* [in] */ LPCWSTR pwszProtocol,
  9204.             /* [out] */ WCHAR __RPC_FAR *pwszHostName,
  9205.             /* [out][in] */ DWORD __RPC_FAR *pcchHostName);
  9206.         
  9207.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProxyHostName )( 
  9208.             IWMReaderNetworkConfig __RPC_FAR * This,
  9209.             /* [in] */ LPCWSTR pwszProtocol,
  9210.             /* [in] */ LPCWSTR pwszHostName);
  9211.         
  9212.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProxyPort )( 
  9213.             IWMReaderNetworkConfig __RPC_FAR * This,
  9214.             /* [in] */ LPCWSTR pwszProtocol,
  9215.             /* [out] */ DWORD __RPC_FAR *pdwPort);
  9216.         
  9217.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProxyPort )( 
  9218.             IWMReaderNetworkConfig __RPC_FAR * This,
  9219.             /* [in] */ LPCWSTR pwszProtocol,
  9220.             /* [in] */ DWORD dwPort);
  9221.         
  9222.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProxyExceptionList )( 
  9223.             IWMReaderNetworkConfig __RPC_FAR * This,
  9224.             /* [in] */ LPCWSTR pwszProtocol,
  9225.             /* [out] */ WCHAR __RPC_FAR *pwszExceptionList,
  9226.             /* [out][in] */ DWORD __RPC_FAR *pcchExceptionList);
  9227.         
  9228.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProxyExceptionList )( 
  9229.             IWMReaderNetworkConfig __RPC_FAR * This,
  9230.             /* [in] */ LPCWSTR pwszProtocol,
  9231.             /* [in] */ LPCWSTR pwszExceptionList);
  9232.         
  9233.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProxyBypassForLocal )( 
  9234.             IWMReaderNetworkConfig __RPC_FAR * This,
  9235.             /* [in] */ LPCWSTR pwszProtocol,
  9236.             /* [out] */ BOOL __RPC_FAR *pfBypassForLocal);
  9237.         
  9238.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProxyBypassForLocal )( 
  9239.             IWMReaderNetworkConfig __RPC_FAR * This,
  9240.             /* [in] */ LPCWSTR pwszProtocol,
  9241.             /* [in] */ BOOL fBypassForLocal);
  9242.         
  9243.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetForceRerunAutoProxyDetection )( 
  9244.             IWMReaderNetworkConfig __RPC_FAR * This,
  9245.             /* [out] */ BOOL __RPC_FAR *pfForceRerunDetection);
  9246.         
  9247.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetForceRerunAutoProxyDetection )( 
  9248.             IWMReaderNetworkConfig __RPC_FAR * This,
  9249.             /* [in] */ BOOL fForceRerunDetection);
  9250.         
  9251.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEnableMulticast )( 
  9252.             IWMReaderNetworkConfig __RPC_FAR * This,
  9253.             /* [out] */ BOOL __RPC_FAR *pfEnableMulticast);
  9254.         
  9255.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetEnableMulticast )( 
  9256.             IWMReaderNetworkConfig __RPC_FAR * This,
  9257.             /* [in] */ BOOL fEnableMulticast);
  9258.         
  9259.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEnableHTTP )( 
  9260.             IWMReaderNetworkConfig __RPC_FAR * This,
  9261.             /* [out] */ BOOL __RPC_FAR *pfEnableHTTP);
  9262.         
  9263.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetEnableHTTP )( 
  9264.             IWMReaderNetworkConfig __RPC_FAR * This,
  9265.             /* [in] */ BOOL fEnableHTTP);
  9266.         
  9267.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEnableUDP )( 
  9268.             IWMReaderNetworkConfig __RPC_FAR * This,
  9269.             /* [out] */ BOOL __RPC_FAR *pfEnableUDP);
  9270.         
  9271.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetEnableUDP )( 
  9272.             IWMReaderNetworkConfig __RPC_FAR * This,
  9273.             /* [in] */ BOOL fEnableUDP);
  9274.         
  9275.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetEnableTCP )( 
  9276.             IWMReaderNetworkConfig __RPC_FAR * This,
  9277.             /* [out] */ BOOL __RPC_FAR *pfEnableTCP);
  9278.         
  9279.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetEnableTCP )( 
  9280.             IWMReaderNetworkConfig __RPC_FAR * This,
  9281.             /* [in] */ BOOL fEnableTCP);
  9282.         
  9283.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ResetProtocolRollover )( 
  9284.             IWMReaderNetworkConfig __RPC_FAR * This);
  9285.         
  9286.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetConnectionBandwidth )( 
  9287.             IWMReaderNetworkConfig __RPC_FAR * This,
  9288.             /* [out] */ DWORD __RPC_FAR *pdwConnectionBandwidth);
  9289.         
  9290.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetConnectionBandwidth )( 
  9291.             IWMReaderNetworkConfig __RPC_FAR * This,
  9292.             /* [in] */ DWORD dwConnectionBandwidth);
  9293.         
  9294.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNumProtocolsSupported )( 
  9295.             IWMReaderNetworkConfig __RPC_FAR * This,
  9296.             /* [out] */ DWORD __RPC_FAR *pcProtocols);
  9297.         
  9298.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSupportedProtocolName )( 
  9299.             IWMReaderNetworkConfig __RPC_FAR * This,
  9300.             /* [in] */ DWORD dwProtocolNum,
  9301.             /* [out] */ WCHAR __RPC_FAR *pwszProtocolName,
  9302.             /* [out][in] */ DWORD __RPC_FAR *pcchProtocolName);
  9303.         
  9304.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddLoggingUrl )( 
  9305.             IWMReaderNetworkConfig __RPC_FAR * This,
  9306.             /* [in] */ LPCWSTR pwszUrl);
  9307.         
  9308.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLoggingUrl )( 
  9309.             IWMReaderNetworkConfig __RPC_FAR * This,
  9310.             /* [in] */ DWORD dwIndex,
  9311.             /* [out] */ LPWSTR pwszUrl,
  9312.             /* [out][in] */ DWORD __RPC_FAR *pcchUrl);
  9313.         
  9314.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLoggingUrlCount )( 
  9315.             IWMReaderNetworkConfig __RPC_FAR * This,
  9316.             /* [out] */ DWORD __RPC_FAR *pdwUrlCount);
  9317.         
  9318.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ResetLoggingUrlList )( 
  9319.             IWMReaderNetworkConfig __RPC_FAR * This);
  9320.         
  9321.         END_INTERFACE
  9322.     } IWMReaderNetworkConfigVtbl;
  9323.  
  9324.     interface IWMReaderNetworkConfig
  9325.     {
  9326.         CONST_VTBL struct IWMReaderNetworkConfigVtbl __RPC_FAR *lpVtbl;
  9327.     };
  9328.  
  9329.     
  9330.  
  9331. #ifdef COBJMACROS
  9332.  
  9333.  
  9334. #define IWMReaderNetworkConfig_QueryInterface(This,riid,ppvObject)    \
  9335.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9336.  
  9337. #define IWMReaderNetworkConfig_AddRef(This)    \
  9338.     (This)->lpVtbl -> AddRef(This)
  9339.  
  9340. #define IWMReaderNetworkConfig_Release(This)    \
  9341.     (This)->lpVtbl -> Release(This)
  9342.  
  9343.  
  9344. #define IWMReaderNetworkConfig_GetBufferingTime(This,pcnsBufferingTime)    \
  9345.     (This)->lpVtbl -> GetBufferingTime(This,pcnsBufferingTime)
  9346.  
  9347. #define IWMReaderNetworkConfig_SetBufferingTime(This,cnsBufferingTime)    \
  9348.     (This)->lpVtbl -> SetBufferingTime(This,cnsBufferingTime)
  9349.  
  9350. #define IWMReaderNetworkConfig_GetUDPPortRanges(This,pRangeArray,pcRanges)    \
  9351.     (This)->lpVtbl -> GetUDPPortRanges(This,pRangeArray,pcRanges)
  9352.  
  9353. #define IWMReaderNetworkConfig_SetUDPPortRanges(This,pRangeArray,cRanges)    \
  9354.     (This)->lpVtbl -> SetUDPPortRanges(This,pRangeArray,cRanges)
  9355.  
  9356. #define IWMReaderNetworkConfig_GetProxySettings(This,pwszProtocol,pProxySetting)    \
  9357.     (This)->lpVtbl -> GetProxySettings(This,pwszProtocol,pProxySetting)
  9358.  
  9359. #define IWMReaderNetworkConfig_SetProxySettings(This,pwszProtocol,ProxySetting)    \
  9360.     (This)->lpVtbl -> SetProxySettings(This,pwszProtocol,ProxySetting)
  9361.  
  9362. #define IWMReaderNetworkConfig_GetProxyHostName(This,pwszProtocol,pwszHostName,pcchHostName)    \
  9363.     (This)->lpVtbl -> GetProxyHostName(This,pwszProtocol,pwszHostName,pcchHostName)
  9364.  
  9365. #define IWMReaderNetworkConfig_SetProxyHostName(This,pwszProtocol,pwszHostName)    \
  9366.     (This)->lpVtbl -> SetProxyHostName(This,pwszProtocol,pwszHostName)
  9367.  
  9368. #define IWMReaderNetworkConfig_GetProxyPort(This,pwszProtocol,pdwPort)    \
  9369.     (This)->lpVtbl -> GetProxyPort(This,pwszProtocol,pdwPort)
  9370.  
  9371. #define IWMReaderNetworkConfig_SetProxyPort(This,pwszProtocol,dwPort)    \
  9372.     (This)->lpVtbl -> SetProxyPort(This,pwszProtocol,dwPort)
  9373.  
  9374. #define IWMReaderNetworkConfig_GetProxyExceptionList(This,pwszProtocol,pwszExceptionList,pcchExceptionList)    \
  9375.     (This)->lpVtbl -> GetProxyExceptionList(This,pwszProtocol,pwszExceptionList,pcchExceptionList)
  9376.  
  9377. #define IWMReaderNetworkConfig_SetProxyExceptionList(This,pwszProtocol,pwszExceptionList)    \
  9378.     (This)->lpVtbl -> SetProxyExceptionList(This,pwszProtocol,pwszExceptionList)
  9379.  
  9380. #define IWMReaderNetworkConfig_GetProxyBypassForLocal(This,pwszProtocol,pfBypassForLocal)    \
  9381.     (This)->lpVtbl -> GetProxyBypassForLocal(This,pwszProtocol,pfBypassForLocal)
  9382.  
  9383. #define IWMReaderNetworkConfig_SetProxyBypassForLocal(This,pwszProtocol,fBypassForLocal)    \
  9384.     (This)->lpVtbl -> SetProxyBypassForLocal(This,pwszProtocol,fBypassForLocal)
  9385.  
  9386. #define IWMReaderNetworkConfig_GetForceRerunAutoProxyDetection(This,pfForceRerunDetection)    \
  9387.     (This)->lpVtbl -> GetForceRerunAutoProxyDetection(This,pfForceRerunDetection)
  9388.  
  9389. #define IWMReaderNetworkConfig_SetForceRerunAutoProxyDetection(This,fForceRerunDetection)    \
  9390.     (This)->lpVtbl -> SetForceRerunAutoProxyDetection(This,fForceRerunDetection)
  9391.  
  9392. #define IWMReaderNetworkConfig_GetEnableMulticast(This,pfEnableMulticast)    \
  9393.     (This)->lpVtbl -> GetEnableMulticast(This,pfEnableMulticast)
  9394.  
  9395. #define IWMReaderNetworkConfig_SetEnableMulticast(This,fEnableMulticast)    \
  9396.     (This)->lpVtbl -> SetEnableMulticast(This,fEnableMulticast)
  9397.  
  9398. #define IWMReaderNetworkConfig_GetEnableHTTP(This,pfEnableHTTP)    \
  9399.     (This)->lpVtbl -> GetEnableHTTP(This,pfEnableHTTP)
  9400.  
  9401. #define IWMReaderNetworkConfig_SetEnableHTTP(This,fEnableHTTP)    \
  9402.     (This)->lpVtbl -> SetEnableHTTP(This,fEnableHTTP)
  9403.  
  9404. #define IWMReaderNetworkConfig_GetEnableUDP(This,pfEnableUDP)    \
  9405.     (This)->lpVtbl -> GetEnableUDP(This,pfEnableUDP)
  9406.  
  9407. #define IWMReaderNetworkConfig_SetEnableUDP(This,fEnableUDP)    \
  9408.     (This)->lpVtbl -> SetEnableUDP(This,fEnableUDP)
  9409.  
  9410. #define IWMReaderNetworkConfig_GetEnableTCP(This,pfEnableTCP)    \
  9411.     (This)->lpVtbl -> GetEnableTCP(This,pfEnableTCP)
  9412.  
  9413. #define IWMReaderNetworkConfig_SetEnableTCP(This,fEnableTCP)    \
  9414.     (This)->lpVtbl -> SetEnableTCP(This,fEnableTCP)
  9415.  
  9416. #define IWMReaderNetworkConfig_ResetProtocolRollover(This)    \
  9417.     (This)->lpVtbl -> ResetProtocolRollover(This)
  9418.  
  9419. #define IWMReaderNetworkConfig_GetConnectionBandwidth(This,pdwConnectionBandwidth)    \
  9420.     (This)->lpVtbl -> GetConnectionBandwidth(This,pdwConnectionBandwidth)
  9421.  
  9422. #define IWMReaderNetworkConfig_SetConnectionBandwidth(This,dwConnectionBandwidth)    \
  9423.     (This)->lpVtbl -> SetConnectionBandwidth(This,dwConnectionBandwidth)
  9424.  
  9425. #define IWMReaderNetworkConfig_GetNumProtocolsSupported(This,pcProtocols)    \
  9426.     (This)->lpVtbl -> GetNumProtocolsSupported(This,pcProtocols)
  9427.  
  9428. #define IWMReaderNetworkConfig_GetSupportedProtocolName(This,dwProtocolNum,pwszProtocolName,pcchProtocolName)    \
  9429.     (This)->lpVtbl -> GetSupportedProtocolName(This,dwProtocolNum,pwszProtocolName,pcchProtocolName)
  9430.  
  9431. #define IWMReaderNetworkConfig_AddLoggingUrl(This,pwszUrl)    \
  9432.     (This)->lpVtbl -> AddLoggingUrl(This,pwszUrl)
  9433.  
  9434. #define IWMReaderNetworkConfig_GetLoggingUrl(This,dwIndex,pwszUrl,pcchUrl)    \
  9435.     (This)->lpVtbl -> GetLoggingUrl(This,dwIndex,pwszUrl,pcchUrl)
  9436.  
  9437. #define IWMReaderNetworkConfig_GetLoggingUrlCount(This,pdwUrlCount)    \
  9438.     (This)->lpVtbl -> GetLoggingUrlCount(This,pdwUrlCount)
  9439.  
  9440. #define IWMReaderNetworkConfig_ResetLoggingUrlList(This)    \
  9441.     (This)->lpVtbl -> ResetLoggingUrlList(This)
  9442.  
  9443. #endif /* COBJMACROS */
  9444.  
  9445.  
  9446. #endif     /* C style interface */
  9447.  
  9448.  
  9449.  
  9450. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetBufferingTime_Proxy( 
  9451.     IWMReaderNetworkConfig __RPC_FAR * This,
  9452.     /* [out] */ QWORD __RPC_FAR *pcnsBufferingTime);
  9453.  
  9454.  
  9455. void __RPC_STUB IWMReaderNetworkConfig_GetBufferingTime_Stub(
  9456.     IRpcStubBuffer *This,
  9457.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9458.     PRPC_MESSAGE _pRpcMessage,
  9459.     DWORD *_pdwStubPhase);
  9460.  
  9461.  
  9462. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetBufferingTime_Proxy( 
  9463.     IWMReaderNetworkConfig __RPC_FAR * This,
  9464.     /* [in] */ QWORD cnsBufferingTime);
  9465.  
  9466.  
  9467. void __RPC_STUB IWMReaderNetworkConfig_SetBufferingTime_Stub(
  9468.     IRpcStubBuffer *This,
  9469.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9470.     PRPC_MESSAGE _pRpcMessage,
  9471.     DWORD *_pdwStubPhase);
  9472.  
  9473.  
  9474. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetUDPPortRanges_Proxy( 
  9475.     IWMReaderNetworkConfig __RPC_FAR * This,
  9476.     /* [out] */ WM_PORT_NUMBER_RANGE __RPC_FAR *pRangeArray,
  9477.     /* [out][in] */ DWORD __RPC_FAR *pcRanges);
  9478.  
  9479.  
  9480. void __RPC_STUB IWMReaderNetworkConfig_GetUDPPortRanges_Stub(
  9481.     IRpcStubBuffer *This,
  9482.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9483.     PRPC_MESSAGE _pRpcMessage,
  9484.     DWORD *_pdwStubPhase);
  9485.  
  9486.  
  9487. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetUDPPortRanges_Proxy( 
  9488.     IWMReaderNetworkConfig __RPC_FAR * This,
  9489.     /* [in] */ WM_PORT_NUMBER_RANGE __RPC_FAR *pRangeArray,
  9490.     /* [in] */ DWORD cRanges);
  9491.  
  9492.  
  9493. void __RPC_STUB IWMReaderNetworkConfig_SetUDPPortRanges_Stub(
  9494.     IRpcStubBuffer *This,
  9495.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9496.     PRPC_MESSAGE _pRpcMessage,
  9497.     DWORD *_pdwStubPhase);
  9498.  
  9499.  
  9500. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetProxySettings_Proxy( 
  9501.     IWMReaderNetworkConfig __RPC_FAR * This,
  9502.     LPCWSTR pwszProtocol,
  9503.     WMT_PROXY_SETTINGS __RPC_FAR *pProxySetting);
  9504.  
  9505.  
  9506. void __RPC_STUB IWMReaderNetworkConfig_GetProxySettings_Stub(
  9507.     IRpcStubBuffer *This,
  9508.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9509.     PRPC_MESSAGE _pRpcMessage,
  9510.     DWORD *_pdwStubPhase);
  9511.  
  9512.  
  9513. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetProxySettings_Proxy( 
  9514.     IWMReaderNetworkConfig __RPC_FAR * This,
  9515.     LPCWSTR pwszProtocol,
  9516.     WMT_PROXY_SETTINGS ProxySetting);
  9517.  
  9518.  
  9519. void __RPC_STUB IWMReaderNetworkConfig_SetProxySettings_Stub(
  9520.     IRpcStubBuffer *This,
  9521.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9522.     PRPC_MESSAGE _pRpcMessage,
  9523.     DWORD *_pdwStubPhase);
  9524.  
  9525.  
  9526. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetProxyHostName_Proxy( 
  9527.     IWMReaderNetworkConfig __RPC_FAR * This,
  9528.     /* [in] */ LPCWSTR pwszProtocol,
  9529.     /* [out] */ WCHAR __RPC_FAR *pwszHostName,
  9530.     /* [out][in] */ DWORD __RPC_FAR *pcchHostName);
  9531.  
  9532.  
  9533. void __RPC_STUB IWMReaderNetworkConfig_GetProxyHostName_Stub(
  9534.     IRpcStubBuffer *This,
  9535.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9536.     PRPC_MESSAGE _pRpcMessage,
  9537.     DWORD *_pdwStubPhase);
  9538.  
  9539.  
  9540. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetProxyHostName_Proxy( 
  9541.     IWMReaderNetworkConfig __RPC_FAR * This,
  9542.     /* [in] */ LPCWSTR pwszProtocol,
  9543.     /* [in] */ LPCWSTR pwszHostName);
  9544.  
  9545.  
  9546. void __RPC_STUB IWMReaderNetworkConfig_SetProxyHostName_Stub(
  9547.     IRpcStubBuffer *This,
  9548.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9549.     PRPC_MESSAGE _pRpcMessage,
  9550.     DWORD *_pdwStubPhase);
  9551.  
  9552.  
  9553. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetProxyPort_Proxy( 
  9554.     IWMReaderNetworkConfig __RPC_FAR * This,
  9555.     /* [in] */ LPCWSTR pwszProtocol,
  9556.     /* [out] */ DWORD __RPC_FAR *pdwPort);
  9557.  
  9558.  
  9559. void __RPC_STUB IWMReaderNetworkConfig_GetProxyPort_Stub(
  9560.     IRpcStubBuffer *This,
  9561.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9562.     PRPC_MESSAGE _pRpcMessage,
  9563.     DWORD *_pdwStubPhase);
  9564.  
  9565.  
  9566. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetProxyPort_Proxy( 
  9567.     IWMReaderNetworkConfig __RPC_FAR * This,
  9568.     /* [in] */ LPCWSTR pwszProtocol,
  9569.     /* [in] */ DWORD dwPort);
  9570.  
  9571.  
  9572. void __RPC_STUB IWMReaderNetworkConfig_SetProxyPort_Stub(
  9573.     IRpcStubBuffer *This,
  9574.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9575.     PRPC_MESSAGE _pRpcMessage,
  9576.     DWORD *_pdwStubPhase);
  9577.  
  9578.  
  9579. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetProxyExceptionList_Proxy( 
  9580.     IWMReaderNetworkConfig __RPC_FAR * This,
  9581.     /* [in] */ LPCWSTR pwszProtocol,
  9582.     /* [out] */ WCHAR __RPC_FAR *pwszExceptionList,
  9583.     /* [out][in] */ DWORD __RPC_FAR *pcchExceptionList);
  9584.  
  9585.  
  9586. void __RPC_STUB IWMReaderNetworkConfig_GetProxyExceptionList_Stub(
  9587.     IRpcStubBuffer *This,
  9588.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9589.     PRPC_MESSAGE _pRpcMessage,
  9590.     DWORD *_pdwStubPhase);
  9591.  
  9592.  
  9593. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetProxyExceptionList_Proxy( 
  9594.     IWMReaderNetworkConfig __RPC_FAR * This,
  9595.     /* [in] */ LPCWSTR pwszProtocol,
  9596.     /* [in] */ LPCWSTR pwszExceptionList);
  9597.  
  9598.  
  9599. void __RPC_STUB IWMReaderNetworkConfig_SetProxyExceptionList_Stub(
  9600.     IRpcStubBuffer *This,
  9601.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9602.     PRPC_MESSAGE _pRpcMessage,
  9603.     DWORD *_pdwStubPhase);
  9604.  
  9605.  
  9606. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetProxyBypassForLocal_Proxy( 
  9607.     IWMReaderNetworkConfig __RPC_FAR * This,
  9608.     /* [in] */ LPCWSTR pwszProtocol,
  9609.     /* [out] */ BOOL __RPC_FAR *pfBypassForLocal);
  9610.  
  9611.  
  9612. void __RPC_STUB IWMReaderNetworkConfig_GetProxyBypassForLocal_Stub(
  9613.     IRpcStubBuffer *This,
  9614.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9615.     PRPC_MESSAGE _pRpcMessage,
  9616.     DWORD *_pdwStubPhase);
  9617.  
  9618.  
  9619. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetProxyBypassForLocal_Proxy( 
  9620.     IWMReaderNetworkConfig __RPC_FAR * This,
  9621.     /* [in] */ LPCWSTR pwszProtocol,
  9622.     /* [in] */ BOOL fBypassForLocal);
  9623.  
  9624.  
  9625. void __RPC_STUB IWMReaderNetworkConfig_SetProxyBypassForLocal_Stub(
  9626.     IRpcStubBuffer *This,
  9627.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9628.     PRPC_MESSAGE _pRpcMessage,
  9629.     DWORD *_pdwStubPhase);
  9630.  
  9631.  
  9632. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetForceRerunAutoProxyDetection_Proxy( 
  9633.     IWMReaderNetworkConfig __RPC_FAR * This,
  9634.     /* [out] */ BOOL __RPC_FAR *pfForceRerunDetection);
  9635.  
  9636.  
  9637. void __RPC_STUB IWMReaderNetworkConfig_GetForceRerunAutoProxyDetection_Stub(
  9638.     IRpcStubBuffer *This,
  9639.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9640.     PRPC_MESSAGE _pRpcMessage,
  9641.     DWORD *_pdwStubPhase);
  9642.  
  9643.  
  9644. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetForceRerunAutoProxyDetection_Proxy( 
  9645.     IWMReaderNetworkConfig __RPC_FAR * This,
  9646.     /* [in] */ BOOL fForceRerunDetection);
  9647.  
  9648.  
  9649. void __RPC_STUB IWMReaderNetworkConfig_SetForceRerunAutoProxyDetection_Stub(
  9650.     IRpcStubBuffer *This,
  9651.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9652.     PRPC_MESSAGE _pRpcMessage,
  9653.     DWORD *_pdwStubPhase);
  9654.  
  9655.  
  9656. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetEnableMulticast_Proxy( 
  9657.     IWMReaderNetworkConfig __RPC_FAR * This,
  9658.     /* [out] */ BOOL __RPC_FAR *pfEnableMulticast);
  9659.  
  9660.  
  9661. void __RPC_STUB IWMReaderNetworkConfig_GetEnableMulticast_Stub(
  9662.     IRpcStubBuffer *This,
  9663.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9664.     PRPC_MESSAGE _pRpcMessage,
  9665.     DWORD *_pdwStubPhase);
  9666.  
  9667.  
  9668. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetEnableMulticast_Proxy( 
  9669.     IWMReaderNetworkConfig __RPC_FAR * This,
  9670.     /* [in] */ BOOL fEnableMulticast);
  9671.  
  9672.  
  9673. void __RPC_STUB IWMReaderNetworkConfig_SetEnableMulticast_Stub(
  9674.     IRpcStubBuffer *This,
  9675.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9676.     PRPC_MESSAGE _pRpcMessage,
  9677.     DWORD *_pdwStubPhase);
  9678.  
  9679.  
  9680. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetEnableHTTP_Proxy( 
  9681.     IWMReaderNetworkConfig __RPC_FAR * This,
  9682.     /* [out] */ BOOL __RPC_FAR *pfEnableHTTP);
  9683.  
  9684.  
  9685. void __RPC_STUB IWMReaderNetworkConfig_GetEnableHTTP_Stub(
  9686.     IRpcStubBuffer *This,
  9687.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9688.     PRPC_MESSAGE _pRpcMessage,
  9689.     DWORD *_pdwStubPhase);
  9690.  
  9691.  
  9692. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetEnableHTTP_Proxy( 
  9693.     IWMReaderNetworkConfig __RPC_FAR * This,
  9694.     /* [in] */ BOOL fEnableHTTP);
  9695.  
  9696.  
  9697. void __RPC_STUB IWMReaderNetworkConfig_SetEnableHTTP_Stub(
  9698.     IRpcStubBuffer *This,
  9699.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9700.     PRPC_MESSAGE _pRpcMessage,
  9701.     DWORD *_pdwStubPhase);
  9702.  
  9703.  
  9704. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetEnableUDP_Proxy( 
  9705.     IWMReaderNetworkConfig __RPC_FAR * This,
  9706.     /* [out] */ BOOL __RPC_FAR *pfEnableUDP);
  9707.  
  9708.  
  9709. void __RPC_STUB IWMReaderNetworkConfig_GetEnableUDP_Stub(
  9710.     IRpcStubBuffer *This,
  9711.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9712.     PRPC_MESSAGE _pRpcMessage,
  9713.     DWORD *_pdwStubPhase);
  9714.  
  9715.  
  9716. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetEnableUDP_Proxy( 
  9717.     IWMReaderNetworkConfig __RPC_FAR * This,
  9718.     /* [in] */ BOOL fEnableUDP);
  9719.  
  9720.  
  9721. void __RPC_STUB IWMReaderNetworkConfig_SetEnableUDP_Stub(
  9722.     IRpcStubBuffer *This,
  9723.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9724.     PRPC_MESSAGE _pRpcMessage,
  9725.     DWORD *_pdwStubPhase);
  9726.  
  9727.  
  9728. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetEnableTCP_Proxy( 
  9729.     IWMReaderNetworkConfig __RPC_FAR * This,
  9730.     /* [out] */ BOOL __RPC_FAR *pfEnableTCP);
  9731.  
  9732.  
  9733. void __RPC_STUB IWMReaderNetworkConfig_GetEnableTCP_Stub(
  9734.     IRpcStubBuffer *This,
  9735.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9736.     PRPC_MESSAGE _pRpcMessage,
  9737.     DWORD *_pdwStubPhase);
  9738.  
  9739.  
  9740. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetEnableTCP_Proxy( 
  9741.     IWMReaderNetworkConfig __RPC_FAR * This,
  9742.     /* [in] */ BOOL fEnableTCP);
  9743.  
  9744.  
  9745. void __RPC_STUB IWMReaderNetworkConfig_SetEnableTCP_Stub(
  9746.     IRpcStubBuffer *This,
  9747.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9748.     PRPC_MESSAGE _pRpcMessage,
  9749.     DWORD *_pdwStubPhase);
  9750.  
  9751.  
  9752. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_ResetProtocolRollover_Proxy( 
  9753.     IWMReaderNetworkConfig __RPC_FAR * This);
  9754.  
  9755.  
  9756. void __RPC_STUB IWMReaderNetworkConfig_ResetProtocolRollover_Stub(
  9757.     IRpcStubBuffer *This,
  9758.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9759.     PRPC_MESSAGE _pRpcMessage,
  9760.     DWORD *_pdwStubPhase);
  9761.  
  9762.  
  9763. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetConnectionBandwidth_Proxy( 
  9764.     IWMReaderNetworkConfig __RPC_FAR * This,
  9765.     /* [out] */ DWORD __RPC_FAR *pdwConnectionBandwidth);
  9766.  
  9767.  
  9768. void __RPC_STUB IWMReaderNetworkConfig_GetConnectionBandwidth_Stub(
  9769.     IRpcStubBuffer *This,
  9770.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9771.     PRPC_MESSAGE _pRpcMessage,
  9772.     DWORD *_pdwStubPhase);
  9773.  
  9774.  
  9775. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetConnectionBandwidth_Proxy( 
  9776.     IWMReaderNetworkConfig __RPC_FAR * This,
  9777.     /* [in] */ DWORD dwConnectionBandwidth);
  9778.  
  9779.  
  9780. void __RPC_STUB IWMReaderNetworkConfig_SetConnectionBandwidth_Stub(
  9781.     IRpcStubBuffer *This,
  9782.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9783.     PRPC_MESSAGE _pRpcMessage,
  9784.     DWORD *_pdwStubPhase);
  9785.  
  9786.  
  9787. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetNumProtocolsSupported_Proxy( 
  9788.     IWMReaderNetworkConfig __RPC_FAR * This,
  9789.     /* [out] */ DWORD __RPC_FAR *pcProtocols);
  9790.  
  9791.  
  9792. void __RPC_STUB IWMReaderNetworkConfig_GetNumProtocolsSupported_Stub(
  9793.     IRpcStubBuffer *This,
  9794.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9795.     PRPC_MESSAGE _pRpcMessage,
  9796.     DWORD *_pdwStubPhase);
  9797.  
  9798.  
  9799. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetSupportedProtocolName_Proxy( 
  9800.     IWMReaderNetworkConfig __RPC_FAR * This,
  9801.     /* [in] */ DWORD dwProtocolNum,
  9802.     /* [out] */ WCHAR __RPC_FAR *pwszProtocolName,
  9803.     /* [out][in] */ DWORD __RPC_FAR *pcchProtocolName);
  9804.  
  9805.  
  9806. void __RPC_STUB IWMReaderNetworkConfig_GetSupportedProtocolName_Stub(
  9807.     IRpcStubBuffer *This,
  9808.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9809.     PRPC_MESSAGE _pRpcMessage,
  9810.     DWORD *_pdwStubPhase);
  9811.  
  9812.  
  9813. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_AddLoggingUrl_Proxy( 
  9814.     IWMReaderNetworkConfig __RPC_FAR * This,
  9815.     /* [in] */ LPCWSTR pwszUrl);
  9816.  
  9817.  
  9818. void __RPC_STUB IWMReaderNetworkConfig_AddLoggingUrl_Stub(
  9819.     IRpcStubBuffer *This,
  9820.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9821.     PRPC_MESSAGE _pRpcMessage,
  9822.     DWORD *_pdwStubPhase);
  9823.  
  9824.  
  9825. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetLoggingUrl_Proxy( 
  9826.     IWMReaderNetworkConfig __RPC_FAR * This,
  9827.     /* [in] */ DWORD dwIndex,
  9828.     /* [out] */ LPWSTR pwszUrl,
  9829.     /* [out][in] */ DWORD __RPC_FAR *pcchUrl);
  9830.  
  9831.  
  9832. void __RPC_STUB IWMReaderNetworkConfig_GetLoggingUrl_Stub(
  9833.     IRpcStubBuffer *This,
  9834.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9835.     PRPC_MESSAGE _pRpcMessage,
  9836.     DWORD *_pdwStubPhase);
  9837.  
  9838.  
  9839. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetLoggingUrlCount_Proxy( 
  9840.     IWMReaderNetworkConfig __RPC_FAR * This,
  9841.     /* [out] */ DWORD __RPC_FAR *pdwUrlCount);
  9842.  
  9843.  
  9844. void __RPC_STUB IWMReaderNetworkConfig_GetLoggingUrlCount_Stub(
  9845.     IRpcStubBuffer *This,
  9846.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9847.     PRPC_MESSAGE _pRpcMessage,
  9848.     DWORD *_pdwStubPhase);
  9849.  
  9850.  
  9851. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_ResetLoggingUrlList_Proxy( 
  9852.     IWMReaderNetworkConfig __RPC_FAR * This);
  9853.  
  9854.  
  9855. void __RPC_STUB IWMReaderNetworkConfig_ResetLoggingUrlList_Stub(
  9856.     IRpcStubBuffer *This,
  9857.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9858.     PRPC_MESSAGE _pRpcMessage,
  9859.     DWORD *_pdwStubPhase);
  9860.  
  9861.  
  9862.  
  9863. #endif     /* __IWMReaderNetworkConfig_INTERFACE_DEFINED__ */
  9864.  
  9865.  
  9866. #ifndef __IWMReaderStreamClock_INTERFACE_DEFINED__
  9867. #define __IWMReaderStreamClock_INTERFACE_DEFINED__
  9868.  
  9869. /* interface IWMReaderStreamClock */
  9870. /* [local][unique][helpstring][uuid][object] */ 
  9871.  
  9872.  
  9873. EXTERN_C const IID IID_IWMReaderStreamClock;
  9874.  
  9875. #if defined(__cplusplus) && !defined(CINTERFACE)
  9876.     
  9877.     MIDL_INTERFACE("96406BED-2B2B-11d3-B36B-00C04F6108FF")
  9878.     IWMReaderStreamClock : public IUnknown
  9879.     {
  9880.     public:
  9881.         virtual HRESULT STDMETHODCALLTYPE GetTime( 
  9882.             /* [in] */ QWORD __RPC_FAR *pcnsNow) = 0;
  9883.         
  9884.         virtual HRESULT STDMETHODCALLTYPE SetTimer( 
  9885.             /* [in] */ QWORD cnsWhen,
  9886.             /* [in] */ void __RPC_FAR *pvParam,
  9887.             /* [out] */ DWORD __RPC_FAR *pdwTimerId) = 0;
  9888.         
  9889.         virtual HRESULT STDMETHODCALLTYPE KillTimer( 
  9890.             /* [in] */ DWORD dwTimerId) = 0;
  9891.         
  9892.     };
  9893.     
  9894. #else     /* C style interface */
  9895.  
  9896.     typedef struct IWMReaderStreamClockVtbl
  9897.     {
  9898.         BEGIN_INTERFACE
  9899.         
  9900.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9901.             IWMReaderStreamClock __RPC_FAR * This,
  9902.             /* [in] */ REFIID riid,
  9903.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9904.         
  9905.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9906.             IWMReaderStreamClock __RPC_FAR * This);
  9907.         
  9908.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9909.             IWMReaderStreamClock __RPC_FAR * This);
  9910.         
  9911.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTime )( 
  9912.             IWMReaderStreamClock __RPC_FAR * This,
  9913.             /* [in] */ QWORD __RPC_FAR *pcnsNow);
  9914.         
  9915.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTimer )( 
  9916.             IWMReaderStreamClock __RPC_FAR * This,
  9917.             /* [in] */ QWORD cnsWhen,
  9918.             /* [in] */ void __RPC_FAR *pvParam,
  9919.             /* [out] */ DWORD __RPC_FAR *pdwTimerId);
  9920.         
  9921.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *KillTimer )( 
  9922.             IWMReaderStreamClock __RPC_FAR * This,
  9923.             /* [in] */ DWORD dwTimerId);
  9924.         
  9925.         END_INTERFACE
  9926.     } IWMReaderStreamClockVtbl;
  9927.  
  9928.     interface IWMReaderStreamClock
  9929.     {
  9930.         CONST_VTBL struct IWMReaderStreamClockVtbl __RPC_FAR *lpVtbl;
  9931.     };
  9932.  
  9933.     
  9934.  
  9935. #ifdef COBJMACROS
  9936.  
  9937.  
  9938. #define IWMReaderStreamClock_QueryInterface(This,riid,ppvObject)    \
  9939.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9940.  
  9941. #define IWMReaderStreamClock_AddRef(This)    \
  9942.     (This)->lpVtbl -> AddRef(This)
  9943.  
  9944. #define IWMReaderStreamClock_Release(This)    \
  9945.     (This)->lpVtbl -> Release(This)
  9946.  
  9947.  
  9948. #define IWMReaderStreamClock_GetTime(This,pcnsNow)    \
  9949.     (This)->lpVtbl -> GetTime(This,pcnsNow)
  9950.  
  9951. #define IWMReaderStreamClock_SetTimer(This,cnsWhen,pvParam,pdwTimerId)    \
  9952.     (This)->lpVtbl -> SetTimer(This,cnsWhen,pvParam,pdwTimerId)
  9953.  
  9954. #define IWMReaderStreamClock_KillTimer(This,dwTimerId)    \
  9955.     (This)->lpVtbl -> KillTimer(This,dwTimerId)
  9956.  
  9957. #endif /* COBJMACROS */
  9958.  
  9959.  
  9960. #endif     /* C style interface */
  9961.  
  9962.  
  9963.  
  9964. HRESULT STDMETHODCALLTYPE IWMReaderStreamClock_GetTime_Proxy( 
  9965.     IWMReaderStreamClock __RPC_FAR * This,
  9966.     /* [in] */ QWORD __RPC_FAR *pcnsNow);
  9967.  
  9968.  
  9969. void __RPC_STUB IWMReaderStreamClock_GetTime_Stub(
  9970.     IRpcStubBuffer *This,
  9971.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9972.     PRPC_MESSAGE _pRpcMessage,
  9973.     DWORD *_pdwStubPhase);
  9974.  
  9975.  
  9976. HRESULT STDMETHODCALLTYPE IWMReaderStreamClock_SetTimer_Proxy( 
  9977.     IWMReaderStreamClock __RPC_FAR * This,
  9978.     /* [in] */ QWORD cnsWhen,
  9979.     /* [in] */ void __RPC_FAR *pvParam,
  9980.     /* [out] */ DWORD __RPC_FAR *pdwTimerId);
  9981.  
  9982.  
  9983. void __RPC_STUB IWMReaderStreamClock_SetTimer_Stub(
  9984.     IRpcStubBuffer *This,
  9985.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9986.     PRPC_MESSAGE _pRpcMessage,
  9987.     DWORD *_pdwStubPhase);
  9988.  
  9989.  
  9990. HRESULT STDMETHODCALLTYPE IWMReaderStreamClock_KillTimer_Proxy( 
  9991.     IWMReaderStreamClock __RPC_FAR * This,
  9992.     /* [in] */ DWORD dwTimerId);
  9993.  
  9994.  
  9995. void __RPC_STUB IWMReaderStreamClock_KillTimer_Stub(
  9996.     IRpcStubBuffer *This,
  9997.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9998.     PRPC_MESSAGE _pRpcMessage,
  9999.     DWORD *_pdwStubPhase);
  10000.  
  10001.  
  10002.  
  10003. #endif     /* __IWMReaderStreamClock_INTERFACE_DEFINED__ */
  10004.  
  10005.  
  10006. #ifndef __IWMIndexer_INTERFACE_DEFINED__
  10007. #define __IWMIndexer_INTERFACE_DEFINED__
  10008.  
  10009. /* interface IWMIndexer */
  10010. /* [local][unique][helpstring][uuid][object] */ 
  10011.  
  10012.  
  10013. EXTERN_C const IID IID_IWMIndexer;
  10014.  
  10015. #if defined(__cplusplus) && !defined(CINTERFACE)
  10016.     
  10017.     MIDL_INTERFACE("6d7cdc71-9888-11d3-8edc-00c04f6109cf")
  10018.     IWMIndexer : public IUnknown
  10019.     {
  10020.     public:
  10021.         virtual HRESULT STDMETHODCALLTYPE StartIndexing( 
  10022.             /* [in] */ const WCHAR __RPC_FAR *pwszURL,
  10023.             /* [in] */ IWMStatusCallback __RPC_FAR *pCallback,
  10024.             /* [in] */ void __RPC_FAR *pvContext) = 0;
  10025.         
  10026.         virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  10027.         
  10028.     };
  10029.     
  10030. #else     /* C style interface */
  10031.  
  10032.     typedef struct IWMIndexerVtbl
  10033.     {
  10034.         BEGIN_INTERFACE
  10035.         
  10036.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10037.             IWMIndexer __RPC_FAR * This,
  10038.             /* [in] */ REFIID riid,
  10039.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10040.         
  10041.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10042.             IWMIndexer __RPC_FAR * This);
  10043.         
  10044.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10045.             IWMIndexer __RPC_FAR * This);
  10046.         
  10047.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StartIndexing )( 
  10048.             IWMIndexer __RPC_FAR * This,
  10049.             /* [in] */ const WCHAR __RPC_FAR *pwszURL,
  10050.             /* [in] */ IWMStatusCallback __RPC_FAR *pCallback,
  10051.             /* [in] */ void __RPC_FAR *pvContext);
  10052.         
  10053.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Cancel )( 
  10054.             IWMIndexer __RPC_FAR * This);
  10055.         
  10056.         END_INTERFACE
  10057.     } IWMIndexerVtbl;
  10058.  
  10059.     interface IWMIndexer
  10060.     {
  10061.         CONST_VTBL struct IWMIndexerVtbl __RPC_FAR *lpVtbl;
  10062.     };
  10063.  
  10064.     
  10065.  
  10066. #ifdef COBJMACROS
  10067.  
  10068.  
  10069. #define IWMIndexer_QueryInterface(This,riid,ppvObject)    \
  10070.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10071.  
  10072. #define IWMIndexer_AddRef(This)    \
  10073.     (This)->lpVtbl -> AddRef(This)
  10074.  
  10075. #define IWMIndexer_Release(This)    \
  10076.     (This)->lpVtbl -> Release(This)
  10077.  
  10078.  
  10079. #define IWMIndexer_StartIndexing(This,pwszURL,pCallback,pvContext)    \
  10080.     (This)->lpVtbl -> StartIndexing(This,pwszURL,pCallback,pvContext)
  10081.  
  10082. #define IWMIndexer_Cancel(This)    \
  10083.     (This)->lpVtbl -> Cancel(This)
  10084.  
  10085. #endif /* COBJMACROS */
  10086.  
  10087.  
  10088. #endif     /* C style interface */
  10089.  
  10090.  
  10091.  
  10092. HRESULT STDMETHODCALLTYPE IWMIndexer_StartIndexing_Proxy( 
  10093.     IWMIndexer __RPC_FAR * This,
  10094.     /* [in] */ const WCHAR __RPC_FAR *pwszURL,
  10095.     /* [in] */ IWMStatusCallback __RPC_FAR *pCallback,
  10096.     /* [in] */ void __RPC_FAR *pvContext);
  10097.  
  10098.  
  10099. void __RPC_STUB IWMIndexer_StartIndexing_Stub(
  10100.     IRpcStubBuffer *This,
  10101.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10102.     PRPC_MESSAGE _pRpcMessage,
  10103.     DWORD *_pdwStubPhase);
  10104.  
  10105.  
  10106. HRESULT STDMETHODCALLTYPE IWMIndexer_Cancel_Proxy( 
  10107.     IWMIndexer __RPC_FAR * This);
  10108.  
  10109.  
  10110. void __RPC_STUB IWMIndexer_Cancel_Stub(
  10111.     IRpcStubBuffer *This,
  10112.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10113.     PRPC_MESSAGE _pRpcMessage,
  10114.     DWORD *_pdwStubPhase);
  10115.  
  10116.  
  10117.  
  10118. #endif     /* __IWMIndexer_INTERFACE_DEFINED__ */
  10119.  
  10120.  
  10121. #ifndef __IWMLicenseBackup_INTERFACE_DEFINED__
  10122. #define __IWMLicenseBackup_INTERFACE_DEFINED__
  10123.  
  10124. /* interface IWMLicenseBackup */
  10125. /* [local][unique][helpstring][uuid][object] */ 
  10126.  
  10127.  
  10128. EXTERN_C const IID IID_IWMLicenseBackup;
  10129.  
  10130. #if defined(__cplusplus) && !defined(CINTERFACE)
  10131.     
  10132.     MIDL_INTERFACE("05E5AC9F-3FB6-4508-BB43-A4067BA1EBE8")
  10133.     IWMLicenseBackup : public IUnknown
  10134.     {
  10135.     public:
  10136.         virtual HRESULT STDMETHODCALLTYPE BackupLicenses( 
  10137.             /* [in] */ DWORD dwFlags,
  10138.             /* [in] */ IWMStatusCallback __RPC_FAR *pCallback) = 0;
  10139.         
  10140.         virtual HRESULT STDMETHODCALLTYPE CancelLicenseBackup( void) = 0;
  10141.         
  10142.     };
  10143.     
  10144. #else     /* C style interface */
  10145.  
  10146.     typedef struct IWMLicenseBackupVtbl
  10147.     {
  10148.         BEGIN_INTERFACE
  10149.         
  10150.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10151.             IWMLicenseBackup __RPC_FAR * This,
  10152.             /* [in] */ REFIID riid,
  10153.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10154.         
  10155.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10156.             IWMLicenseBackup __RPC_FAR * This);
  10157.         
  10158.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10159.             IWMLicenseBackup __RPC_FAR * This);
  10160.         
  10161.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BackupLicenses )( 
  10162.             IWMLicenseBackup __RPC_FAR * This,
  10163.             /* [in] */ DWORD dwFlags,
  10164.             /* [in] */ IWMStatusCallback __RPC_FAR *pCallback);
  10165.         
  10166.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelLicenseBackup )( 
  10167.             IWMLicenseBackup __RPC_FAR * This);
  10168.         
  10169.         END_INTERFACE
  10170.     } IWMLicenseBackupVtbl;
  10171.  
  10172.     interface IWMLicenseBackup
  10173.     {
  10174.         CONST_VTBL struct IWMLicenseBackupVtbl __RPC_FAR *lpVtbl;
  10175.     };
  10176.  
  10177.     
  10178.  
  10179. #ifdef COBJMACROS
  10180.  
  10181.  
  10182. #define IWMLicenseBackup_QueryInterface(This,riid,ppvObject)    \
  10183.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10184.  
  10185. #define IWMLicenseBackup_AddRef(This)    \
  10186.     (This)->lpVtbl -> AddRef(This)
  10187.  
  10188. #define IWMLicenseBackup_Release(This)    \
  10189.     (This)->lpVtbl -> Release(This)
  10190.  
  10191.  
  10192. #define IWMLicenseBackup_BackupLicenses(This,dwFlags,pCallback)    \
  10193.     (This)->lpVtbl -> BackupLicenses(This,dwFlags,pCallback)
  10194.  
  10195. #define IWMLicenseBackup_CancelLicenseBackup(This)    \
  10196.     (This)->lpVtbl -> CancelLicenseBackup(This)
  10197.  
  10198. #endif /* COBJMACROS */
  10199.  
  10200.  
  10201. #endif     /* C style interface */
  10202.  
  10203.  
  10204.  
  10205. HRESULT STDMETHODCALLTYPE IWMLicenseBackup_BackupLicenses_Proxy( 
  10206.     IWMLicenseBackup __RPC_FAR * This,
  10207.     /* [in] */ DWORD dwFlags,
  10208.     /* [in] */ IWMStatusCallback __RPC_FAR *pCallback);
  10209.  
  10210.  
  10211. void __RPC_STUB IWMLicenseBackup_BackupLicenses_Stub(
  10212.     IRpcStubBuffer *This,
  10213.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10214.     PRPC_MESSAGE _pRpcMessage,
  10215.     DWORD *_pdwStubPhase);
  10216.  
  10217.  
  10218. HRESULT STDMETHODCALLTYPE IWMLicenseBackup_CancelLicenseBackup_Proxy( 
  10219.     IWMLicenseBackup __RPC_FAR * This);
  10220.  
  10221.  
  10222. void __RPC_STUB IWMLicenseBackup_CancelLicenseBackup_Stub(
  10223.     IRpcStubBuffer *This,
  10224.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10225.     PRPC_MESSAGE _pRpcMessage,
  10226.     DWORD *_pdwStubPhase);
  10227.  
  10228.  
  10229.  
  10230. #endif     /* __IWMLicenseBackup_INTERFACE_DEFINED__ */
  10231.  
  10232.  
  10233. #ifndef __IWMLicenseRestore_INTERFACE_DEFINED__
  10234. #define __IWMLicenseRestore_INTERFACE_DEFINED__
  10235.  
  10236. /* interface IWMLicenseRestore */
  10237. /* [local][unique][helpstring][uuid][object] */ 
  10238.  
  10239.  
  10240. EXTERN_C const IID IID_IWMLicenseRestore;
  10241.  
  10242. #if defined(__cplusplus) && !defined(CINTERFACE)
  10243.     
  10244.     MIDL_INTERFACE("C70B6334-0544-4efb-A245-15E65A004A13")
  10245.     IWMLicenseRestore : public IUnknown
  10246.     {
  10247.     public:
  10248.         virtual HRESULT STDMETHODCALLTYPE RestoreLicenses( 
  10249.             /* [in] */ DWORD dwFlags,
  10250.             /* [in] */ IWMStatusCallback __RPC_FAR *pCallback) = 0;
  10251.         
  10252.         virtual HRESULT STDMETHODCALLTYPE CancelLicenseRestore( void) = 0;
  10253.         
  10254.     };
  10255.     
  10256. #else     /* C style interface */
  10257.  
  10258.     typedef struct IWMLicenseRestoreVtbl
  10259.     {
  10260.         BEGIN_INTERFACE
  10261.         
  10262.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10263.             IWMLicenseRestore __RPC_FAR * This,
  10264.             /* [in] */ REFIID riid,
  10265.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10266.         
  10267.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10268.             IWMLicenseRestore __RPC_FAR * This);
  10269.         
  10270.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10271.             IWMLicenseRestore __RPC_FAR * This);
  10272.         
  10273.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RestoreLicenses )( 
  10274.             IWMLicenseRestore __RPC_FAR * This,
  10275.             /* [in] */ DWORD dwFlags,
  10276.             /* [in] */ IWMStatusCallback __RPC_FAR *pCallback);
  10277.         
  10278.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CancelLicenseRestore )( 
  10279.             IWMLicenseRestore __RPC_FAR * This);
  10280.         
  10281.         END_INTERFACE
  10282.     } IWMLicenseRestoreVtbl;
  10283.  
  10284.     interface IWMLicenseRestore
  10285.     {
  10286.         CONST_VTBL struct IWMLicenseRestoreVtbl __RPC_FAR *lpVtbl;
  10287.     };
  10288.  
  10289.     
  10290.  
  10291. #ifdef COBJMACROS
  10292.  
  10293.  
  10294. #define IWMLicenseRestore_QueryInterface(This,riid,ppvObject)    \
  10295.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10296.  
  10297. #define IWMLicenseRestore_AddRef(This)    \
  10298.     (This)->lpVtbl -> AddRef(This)
  10299.  
  10300. #define IWMLicenseRestore_Release(This)    \
  10301.     (This)->lpVtbl -> Release(This)
  10302.  
  10303.  
  10304. #define IWMLicenseRestore_RestoreLicenses(This,dwFlags,pCallback)    \
  10305.     (This)->lpVtbl -> RestoreLicenses(This,dwFlags,pCallback)
  10306.  
  10307. #define IWMLicenseRestore_CancelLicenseRestore(This)    \
  10308.     (This)->lpVtbl -> CancelLicenseRestore(This)
  10309.  
  10310. #endif /* COBJMACROS */
  10311.  
  10312.  
  10313. #endif     /* C style interface */
  10314.  
  10315.  
  10316.  
  10317. HRESULT STDMETHODCALLTYPE IWMLicenseRestore_RestoreLicenses_Proxy( 
  10318.     IWMLicenseRestore __RPC_FAR * This,
  10319.     /* [in] */ DWORD dwFlags,
  10320.     /* [in] */ IWMStatusCallback __RPC_FAR *pCallback);
  10321.  
  10322.  
  10323. void __RPC_STUB IWMLicenseRestore_RestoreLicenses_Stub(
  10324.     IRpcStubBuffer *This,
  10325.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10326.     PRPC_MESSAGE _pRpcMessage,
  10327.     DWORD *_pdwStubPhase);
  10328.  
  10329.  
  10330. HRESULT STDMETHODCALLTYPE IWMLicenseRestore_CancelLicenseRestore_Proxy( 
  10331.     IWMLicenseRestore __RPC_FAR * This);
  10332.  
  10333.  
  10334. void __RPC_STUB IWMLicenseRestore_CancelLicenseRestore_Stub(
  10335.     IRpcStubBuffer *This,
  10336.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10337.     PRPC_MESSAGE _pRpcMessage,
  10338.     DWORD *_pdwStubPhase);
  10339.  
  10340.  
  10341.  
  10342. #endif     /* __IWMLicenseRestore_INTERFACE_DEFINED__ */
  10343.  
  10344.  
  10345. #ifndef __IWMBackupRestoreProps_INTERFACE_DEFINED__
  10346. #define __IWMBackupRestoreProps_INTERFACE_DEFINED__
  10347.  
  10348. /* interface IWMBackupRestoreProps */
  10349. /* [local][unique][helpstring][uuid][object] */ 
  10350.  
  10351.  
  10352. EXTERN_C const IID IID_IWMBackupRestoreProps;
  10353.  
  10354. #if defined(__cplusplus) && !defined(CINTERFACE)
  10355.     
  10356.     MIDL_INTERFACE("3C8E0DA6-996F-4ff3-A1AF-4838F9377E2E")
  10357.     IWMBackupRestoreProps : public IUnknown
  10358.     {
  10359.     public:
  10360.         virtual HRESULT STDMETHODCALLTYPE GetPropCount( 
  10361.             /* [out] */ WORD __RPC_FAR *pcProps) = 0;
  10362.         
  10363.         virtual HRESULT STDMETHODCALLTYPE GetPropByIndex( 
  10364.             /* [in] */ WORD wIndex,
  10365.             /* [out] */ WCHAR __RPC_FAR *pwszName,
  10366.             /* [out][in] */ WORD __RPC_FAR *pcchNameLen,
  10367.             /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  10368.             /* [out] */ BYTE __RPC_FAR *pValue,
  10369.             /* [out][in] */ WORD __RPC_FAR *pcbLength) = 0;
  10370.         
  10371.         virtual HRESULT STDMETHODCALLTYPE GetPropByName( 
  10372.             /* [in] */ LPCWSTR pszName,
  10373.             /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  10374.             /* [out] */ BYTE __RPC_FAR *pValue,
  10375.             /* [out][in] */ WORD __RPC_FAR *pcbLength) = 0;
  10376.         
  10377.         virtual HRESULT STDMETHODCALLTYPE SetProp( 
  10378.             /* [in] */ LPCWSTR pszName,
  10379.             /* [in] */ WMT_ATTR_DATATYPE Type,
  10380.             /* [in] */ const BYTE __RPC_FAR *pValue,
  10381.             /* [in] */ WORD cbLength) = 0;
  10382.         
  10383.         virtual HRESULT STDMETHODCALLTYPE RemoveProp( 
  10384.             /* [in] */ LPCWSTR pcwszName) = 0;
  10385.         
  10386.         virtual HRESULT STDMETHODCALLTYPE RemoveAllProps( void) = 0;
  10387.         
  10388.     };
  10389.     
  10390. #else     /* C style interface */
  10391.  
  10392.     typedef struct IWMBackupRestorePropsVtbl
  10393.     {
  10394.         BEGIN_INTERFACE
  10395.         
  10396.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10397.             IWMBackupRestoreProps __RPC_FAR * This,
  10398.             /* [in] */ REFIID riid,
  10399.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10400.         
  10401.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10402.             IWMBackupRestoreProps __RPC_FAR * This);
  10403.         
  10404.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10405.             IWMBackupRestoreProps __RPC_FAR * This);
  10406.         
  10407.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPropCount )( 
  10408.             IWMBackupRestoreProps __RPC_FAR * This,
  10409.             /* [out] */ WORD __RPC_FAR *pcProps);
  10410.         
  10411.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPropByIndex )( 
  10412.             IWMBackupRestoreProps __RPC_FAR * This,
  10413.             /* [in] */ WORD wIndex,
  10414.             /* [out] */ WCHAR __RPC_FAR *pwszName,
  10415.             /* [out][in] */ WORD __RPC_FAR *pcchNameLen,
  10416.             /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  10417.             /* [out] */ BYTE __RPC_FAR *pValue,
  10418.             /* [out][in] */ WORD __RPC_FAR *pcbLength);
  10419.         
  10420.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPropByName )( 
  10421.             IWMBackupRestoreProps __RPC_FAR * This,
  10422.             /* [in] */ LPCWSTR pszName,
  10423.             /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  10424.             /* [out] */ BYTE __RPC_FAR *pValue,
  10425.             /* [out][in] */ WORD __RPC_FAR *pcbLength);
  10426.         
  10427.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetProp )( 
  10428.             IWMBackupRestoreProps __RPC_FAR * This,
  10429.             /* [in] */ LPCWSTR pszName,
  10430.             /* [in] */ WMT_ATTR_DATATYPE Type,
  10431.             /* [in] */ const BYTE __RPC_FAR *pValue,
  10432.             /* [in] */ WORD cbLength);
  10433.         
  10434.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveProp )( 
  10435.             IWMBackupRestoreProps __RPC_FAR * This,
  10436.             /* [in] */ LPCWSTR pcwszName);
  10437.         
  10438.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveAllProps )( 
  10439.             IWMBackupRestoreProps __RPC_FAR * This);
  10440.         
  10441.         END_INTERFACE
  10442.     } IWMBackupRestorePropsVtbl;
  10443.  
  10444.     interface IWMBackupRestoreProps
  10445.     {
  10446.         CONST_VTBL struct IWMBackupRestorePropsVtbl __RPC_FAR *lpVtbl;
  10447.     };
  10448.  
  10449.     
  10450.  
  10451. #ifdef COBJMACROS
  10452.  
  10453.  
  10454. #define IWMBackupRestoreProps_QueryInterface(This,riid,ppvObject)    \
  10455.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10456.  
  10457. #define IWMBackupRestoreProps_AddRef(This)    \
  10458.     (This)->lpVtbl -> AddRef(This)
  10459.  
  10460. #define IWMBackupRestoreProps_Release(This)    \
  10461.     (This)->lpVtbl -> Release(This)
  10462.  
  10463.  
  10464. #define IWMBackupRestoreProps_GetPropCount(This,pcProps)    \
  10465.     (This)->lpVtbl -> GetPropCount(This,pcProps)
  10466.  
  10467. #define IWMBackupRestoreProps_GetPropByIndex(This,wIndex,pwszName,pcchNameLen,pType,pValue,pcbLength)    \
  10468.     (This)->lpVtbl -> GetPropByIndex(This,wIndex,pwszName,pcchNameLen,pType,pValue,pcbLength)
  10469.  
  10470. #define IWMBackupRestoreProps_GetPropByName(This,pszName,pType,pValue,pcbLength)    \
  10471.     (This)->lpVtbl -> GetPropByName(This,pszName,pType,pValue,pcbLength)
  10472.  
  10473. #define IWMBackupRestoreProps_SetProp(This,pszName,Type,pValue,cbLength)    \
  10474.     (This)->lpVtbl -> SetProp(This,pszName,Type,pValue,cbLength)
  10475.  
  10476. #define IWMBackupRestoreProps_RemoveProp(This,pcwszName)    \
  10477.     (This)->lpVtbl -> RemoveProp(This,pcwszName)
  10478.  
  10479. #define IWMBackupRestoreProps_RemoveAllProps(This)    \
  10480.     (This)->lpVtbl -> RemoveAllProps(This)
  10481.  
  10482. #endif /* COBJMACROS */
  10483.  
  10484.  
  10485. #endif     /* C style interface */
  10486.  
  10487.  
  10488.  
  10489. HRESULT STDMETHODCALLTYPE IWMBackupRestoreProps_GetPropCount_Proxy( 
  10490.     IWMBackupRestoreProps __RPC_FAR * This,
  10491.     /* [out] */ WORD __RPC_FAR *pcProps);
  10492.  
  10493.  
  10494. void __RPC_STUB IWMBackupRestoreProps_GetPropCount_Stub(
  10495.     IRpcStubBuffer *This,
  10496.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10497.     PRPC_MESSAGE _pRpcMessage,
  10498.     DWORD *_pdwStubPhase);
  10499.  
  10500.  
  10501. HRESULT STDMETHODCALLTYPE IWMBackupRestoreProps_GetPropByIndex_Proxy( 
  10502.     IWMBackupRestoreProps __RPC_FAR * This,
  10503.     /* [in] */ WORD wIndex,
  10504.     /* [out] */ WCHAR __RPC_FAR *pwszName,
  10505.     /* [out][in] */ WORD __RPC_FAR *pcchNameLen,
  10506.     /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  10507.     /* [out] */ BYTE __RPC_FAR *pValue,
  10508.     /* [out][in] */ WORD __RPC_FAR *pcbLength);
  10509.  
  10510.  
  10511. void __RPC_STUB IWMBackupRestoreProps_GetPropByIndex_Stub(
  10512.     IRpcStubBuffer *This,
  10513.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10514.     PRPC_MESSAGE _pRpcMessage,
  10515.     DWORD *_pdwStubPhase);
  10516.  
  10517.  
  10518. HRESULT STDMETHODCALLTYPE IWMBackupRestoreProps_GetPropByName_Proxy( 
  10519.     IWMBackupRestoreProps __RPC_FAR * This,
  10520.     /* [in] */ LPCWSTR pszName,
  10521.     /* [out] */ WMT_ATTR_DATATYPE __RPC_FAR *pType,
  10522.     /* [out] */ BYTE __RPC_FAR *pValue,
  10523.     /* [out][in] */ WORD __RPC_FAR *pcbLength);
  10524.  
  10525.  
  10526. void __RPC_STUB IWMBackupRestoreProps_GetPropByName_Stub(
  10527.     IRpcStubBuffer *This,
  10528.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10529.     PRPC_MESSAGE _pRpcMessage,
  10530.     DWORD *_pdwStubPhase);
  10531.  
  10532.  
  10533. HRESULT STDMETHODCALLTYPE IWMBackupRestoreProps_SetProp_Proxy( 
  10534.     IWMBackupRestoreProps __RPC_FAR * This,
  10535.     /* [in] */ LPCWSTR pszName,
  10536.     /* [in] */ WMT_ATTR_DATATYPE Type,
  10537.     /* [in] */ const BYTE __RPC_FAR *pValue,
  10538.     /* [in] */ WORD cbLength);
  10539.  
  10540.  
  10541. void __RPC_STUB IWMBackupRestoreProps_SetProp_Stub(
  10542.     IRpcStubBuffer *This,
  10543.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10544.     PRPC_MESSAGE _pRpcMessage,
  10545.     DWORD *_pdwStubPhase);
  10546.  
  10547.  
  10548. HRESULT STDMETHODCALLTYPE IWMBackupRestoreProps_RemoveProp_Proxy( 
  10549.     IWMBackupRestoreProps __RPC_FAR * This,
  10550.     /* [in] */ LPCWSTR pcwszName);
  10551.  
  10552.  
  10553. void __RPC_STUB IWMBackupRestoreProps_RemoveProp_Stub(
  10554.     IRpcStubBuffer *This,
  10555.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10556.     PRPC_MESSAGE _pRpcMessage,
  10557.     DWORD *_pdwStubPhase);
  10558.  
  10559.  
  10560. HRESULT STDMETHODCALLTYPE IWMBackupRestoreProps_RemoveAllProps_Proxy( 
  10561.     IWMBackupRestoreProps __RPC_FAR * This);
  10562.  
  10563.  
  10564. void __RPC_STUB IWMBackupRestoreProps_RemoveAllProps_Stub(
  10565.     IRpcStubBuffer *This,
  10566.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10567.     PRPC_MESSAGE _pRpcMessage,
  10568.     DWORD *_pdwStubPhase);
  10569.  
  10570.  
  10571.  
  10572. #endif     /* __IWMBackupRestoreProps_INTERFACE_DEFINED__ */
  10573.  
  10574.  
  10575. #ifndef __IWMCodecInfo_INTERFACE_DEFINED__
  10576. #define __IWMCodecInfo_INTERFACE_DEFINED__
  10577.  
  10578. /* interface IWMCodecInfo */
  10579. /* [local][unique][helpstring][uuid][object] */ 
  10580.  
  10581.  
  10582. EXTERN_C const IID IID_IWMCodecInfo;
  10583.  
  10584. #if defined(__cplusplus) && !defined(CINTERFACE)
  10585.     
  10586.     MIDL_INTERFACE("A970F41E-34DE-4a98-B3BA-E4B3CA7528F0")
  10587.     IWMCodecInfo : public IUnknown
  10588.     {
  10589.     public:
  10590.         virtual HRESULT STDMETHODCALLTYPE GetCodecInfoCount( 
  10591.             /* [in] */ REFGUID guidType,
  10592.             /* [out] */ DWORD __RPC_FAR *pcCodecs) = 0;
  10593.         
  10594.         virtual HRESULT STDMETHODCALLTYPE GetCodecFormatCount( 
  10595.             /* [in] */ REFGUID guidType,
  10596.             /* [in] */ DWORD dwCodecIndex,
  10597.             /* [out] */ DWORD __RPC_FAR *pcFormat) = 0;
  10598.         
  10599.         virtual HRESULT STDMETHODCALLTYPE GetCodecFormat( 
  10600.             /* [in] */ REFGUID guidType,
  10601.             /* [in] */ DWORD dwCodecIndex,
  10602.             /* [in] */ DWORD dwFormatIndex,
  10603.             /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppIStreamConfig) = 0;
  10604.         
  10605.     };
  10606.     
  10607. #else     /* C style interface */
  10608.  
  10609.     typedef struct IWMCodecInfoVtbl
  10610.     {
  10611.         BEGIN_INTERFACE
  10612.         
  10613.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10614.             IWMCodecInfo __RPC_FAR * This,
  10615.             /* [in] */ REFIID riid,
  10616.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10617.         
  10618.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10619.             IWMCodecInfo __RPC_FAR * This);
  10620.         
  10621.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10622.             IWMCodecInfo __RPC_FAR * This);
  10623.         
  10624.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodecInfoCount )( 
  10625.             IWMCodecInfo __RPC_FAR * This,
  10626.             /* [in] */ REFGUID guidType,
  10627.             /* [out] */ DWORD __RPC_FAR *pcCodecs);
  10628.         
  10629.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodecFormatCount )( 
  10630.             IWMCodecInfo __RPC_FAR * This,
  10631.             /* [in] */ REFGUID guidType,
  10632.             /* [in] */ DWORD dwCodecIndex,
  10633.             /* [out] */ DWORD __RPC_FAR *pcFormat);
  10634.         
  10635.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodecFormat )( 
  10636.             IWMCodecInfo __RPC_FAR * This,
  10637.             /* [in] */ REFGUID guidType,
  10638.             /* [in] */ DWORD dwCodecIndex,
  10639.             /* [in] */ DWORD dwFormatIndex,
  10640.             /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppIStreamConfig);
  10641.         
  10642.         END_INTERFACE
  10643.     } IWMCodecInfoVtbl;
  10644.  
  10645.     interface IWMCodecInfo
  10646.     {
  10647.         CONST_VTBL struct IWMCodecInfoVtbl __RPC_FAR *lpVtbl;
  10648.     };
  10649.  
  10650.     
  10651.  
  10652. #ifdef COBJMACROS
  10653.  
  10654.  
  10655. #define IWMCodecInfo_QueryInterface(This,riid,ppvObject)    \
  10656.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10657.  
  10658. #define IWMCodecInfo_AddRef(This)    \
  10659.     (This)->lpVtbl -> AddRef(This)
  10660.  
  10661. #define IWMCodecInfo_Release(This)    \
  10662.     (This)->lpVtbl -> Release(This)
  10663.  
  10664.  
  10665. #define IWMCodecInfo_GetCodecInfoCount(This,guidType,pcCodecs)    \
  10666.     (This)->lpVtbl -> GetCodecInfoCount(This,guidType,pcCodecs)
  10667.  
  10668. #define IWMCodecInfo_GetCodecFormatCount(This,guidType,dwCodecIndex,pcFormat)    \
  10669.     (This)->lpVtbl -> GetCodecFormatCount(This,guidType,dwCodecIndex,pcFormat)
  10670.  
  10671. #define IWMCodecInfo_GetCodecFormat(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig)    \
  10672.     (This)->lpVtbl -> GetCodecFormat(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig)
  10673.  
  10674. #endif /* COBJMACROS */
  10675.  
  10676.  
  10677. #endif     /* C style interface */
  10678.  
  10679.  
  10680.  
  10681. HRESULT STDMETHODCALLTYPE IWMCodecInfo_GetCodecInfoCount_Proxy( 
  10682.     IWMCodecInfo __RPC_FAR * This,
  10683.     /* [in] */ REFGUID guidType,
  10684.     /* [out] */ DWORD __RPC_FAR *pcCodecs);
  10685.  
  10686.  
  10687. void __RPC_STUB IWMCodecInfo_GetCodecInfoCount_Stub(
  10688.     IRpcStubBuffer *This,
  10689.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10690.     PRPC_MESSAGE _pRpcMessage,
  10691.     DWORD *_pdwStubPhase);
  10692.  
  10693.  
  10694. HRESULT STDMETHODCALLTYPE IWMCodecInfo_GetCodecFormatCount_Proxy( 
  10695.     IWMCodecInfo __RPC_FAR * This,
  10696.     /* [in] */ REFGUID guidType,
  10697.     /* [in] */ DWORD dwCodecIndex,
  10698.     /* [out] */ DWORD __RPC_FAR *pcFormat);
  10699.  
  10700.  
  10701. void __RPC_STUB IWMCodecInfo_GetCodecFormatCount_Stub(
  10702.     IRpcStubBuffer *This,
  10703.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10704.     PRPC_MESSAGE _pRpcMessage,
  10705.     DWORD *_pdwStubPhase);
  10706.  
  10707.  
  10708. HRESULT STDMETHODCALLTYPE IWMCodecInfo_GetCodecFormat_Proxy( 
  10709.     IWMCodecInfo __RPC_FAR * This,
  10710.     /* [in] */ REFGUID guidType,
  10711.     /* [in] */ DWORD dwCodecIndex,
  10712.     /* [in] */ DWORD dwFormatIndex,
  10713.     /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppIStreamConfig);
  10714.  
  10715.  
  10716. void __RPC_STUB IWMCodecInfo_GetCodecFormat_Stub(
  10717.     IRpcStubBuffer *This,
  10718.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10719.     PRPC_MESSAGE _pRpcMessage,
  10720.     DWORD *_pdwStubPhase);
  10721.  
  10722.  
  10723.  
  10724. #endif     /* __IWMCodecInfo_INTERFACE_DEFINED__ */
  10725.  
  10726.  
  10727. #ifndef __IWMCodecInfo2_INTERFACE_DEFINED__
  10728. #define __IWMCodecInfo2_INTERFACE_DEFINED__
  10729.  
  10730. /* interface IWMCodecInfo2 */
  10731. /* [local][unique][helpstring][uuid][object] */ 
  10732.  
  10733.  
  10734. EXTERN_C const IID IID_IWMCodecInfo2;
  10735.  
  10736. #if defined(__cplusplus) && !defined(CINTERFACE)
  10737.     
  10738.     MIDL_INTERFACE("AA65E273-B686-4056-91EC-DD768D4DF710")
  10739.     IWMCodecInfo2 : public IWMCodecInfo
  10740.     {
  10741.     public:
  10742.         virtual HRESULT STDMETHODCALLTYPE GetCodecName( 
  10743.             /* [in] */ REFGUID guidType,
  10744.             /* [in] */ DWORD dwCodecIndex,
  10745.             /* [out] */ WCHAR __RPC_FAR *wszName,
  10746.             /* [out] */ DWORD __RPC_FAR *pcchName) = 0;
  10747.         
  10748.         virtual HRESULT STDMETHODCALLTYPE GetCodecFormatDesc( 
  10749.             /* [in] */ REFGUID guidType,
  10750.             /* [in] */ DWORD dwCodecIndex,
  10751.             /* [in] */ DWORD dwFormatIndex,
  10752.             /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppIStreamConfig,
  10753.             /* [out] */ WCHAR __RPC_FAR *wszDesc,
  10754.             /* [out][in] */ DWORD __RPC_FAR *pcchDesc) = 0;
  10755.         
  10756.     };
  10757.     
  10758. #else     /* C style interface */
  10759.  
  10760.     typedef struct IWMCodecInfo2Vtbl
  10761.     {
  10762.         BEGIN_INTERFACE
  10763.         
  10764.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10765.             IWMCodecInfo2 __RPC_FAR * This,
  10766.             /* [in] */ REFIID riid,
  10767.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10768.         
  10769.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10770.             IWMCodecInfo2 __RPC_FAR * This);
  10771.         
  10772.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10773.             IWMCodecInfo2 __RPC_FAR * This);
  10774.         
  10775.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodecInfoCount )( 
  10776.             IWMCodecInfo2 __RPC_FAR * This,
  10777.             /* [in] */ REFGUID guidType,
  10778.             /* [out] */ DWORD __RPC_FAR *pcCodecs);
  10779.         
  10780.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodecFormatCount )( 
  10781.             IWMCodecInfo2 __RPC_FAR * This,
  10782.             /* [in] */ REFGUID guidType,
  10783.             /* [in] */ DWORD dwCodecIndex,
  10784.             /* [out] */ DWORD __RPC_FAR *pcFormat);
  10785.         
  10786.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodecFormat )( 
  10787.             IWMCodecInfo2 __RPC_FAR * This,
  10788.             /* [in] */ REFGUID guidType,
  10789.             /* [in] */ DWORD dwCodecIndex,
  10790.             /* [in] */ DWORD dwFormatIndex,
  10791.             /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppIStreamConfig);
  10792.         
  10793.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodecName )( 
  10794.             IWMCodecInfo2 __RPC_FAR * This,
  10795.             /* [in] */ REFGUID guidType,
  10796.             /* [in] */ DWORD dwCodecIndex,
  10797.             /* [out] */ WCHAR __RPC_FAR *wszName,
  10798.             /* [out] */ DWORD __RPC_FAR *pcchName);
  10799.         
  10800.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCodecFormatDesc )( 
  10801.             IWMCodecInfo2 __RPC_FAR * This,
  10802.             /* [in] */ REFGUID guidType,
  10803.             /* [in] */ DWORD dwCodecIndex,
  10804.             /* [in] */ DWORD dwFormatIndex,
  10805.             /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppIStreamConfig,
  10806.             /* [out] */ WCHAR __RPC_FAR *wszDesc,
  10807.             /* [out][in] */ DWORD __RPC_FAR *pcchDesc);
  10808.         
  10809.         END_INTERFACE
  10810.     } IWMCodecInfo2Vtbl;
  10811.  
  10812.     interface IWMCodecInfo2
  10813.     {
  10814.         CONST_VTBL struct IWMCodecInfo2Vtbl __RPC_FAR *lpVtbl;
  10815.     };
  10816.  
  10817.     
  10818.  
  10819. #ifdef COBJMACROS
  10820.  
  10821.  
  10822. #define IWMCodecInfo2_QueryInterface(This,riid,ppvObject)    \
  10823.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10824.  
  10825. #define IWMCodecInfo2_AddRef(This)    \
  10826.     (This)->lpVtbl -> AddRef(This)
  10827.  
  10828. #define IWMCodecInfo2_Release(This)    \
  10829.     (This)->lpVtbl -> Release(This)
  10830.  
  10831.  
  10832. #define IWMCodecInfo2_GetCodecInfoCount(This,guidType,pcCodecs)    \
  10833.     (This)->lpVtbl -> GetCodecInfoCount(This,guidType,pcCodecs)
  10834.  
  10835. #define IWMCodecInfo2_GetCodecFormatCount(This,guidType,dwCodecIndex,pcFormat)    \
  10836.     (This)->lpVtbl -> GetCodecFormatCount(This,guidType,dwCodecIndex,pcFormat)
  10837.  
  10838. #define IWMCodecInfo2_GetCodecFormat(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig)    \
  10839.     (This)->lpVtbl -> GetCodecFormat(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig)
  10840.  
  10841.  
  10842. #define IWMCodecInfo2_GetCodecName(This,guidType,dwCodecIndex,wszName,pcchName)    \
  10843.     (This)->lpVtbl -> GetCodecName(This,guidType,dwCodecIndex,wszName,pcchName)
  10844.  
  10845. #define IWMCodecInfo2_GetCodecFormatDesc(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig,wszDesc,pcchDesc)    \
  10846.     (This)->lpVtbl -> GetCodecFormatDesc(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig,wszDesc,pcchDesc)
  10847.  
  10848. #endif /* COBJMACROS */
  10849.  
  10850.  
  10851. #endif     /* C style interface */
  10852.  
  10853.  
  10854.  
  10855. HRESULT STDMETHODCALLTYPE IWMCodecInfo2_GetCodecName_Proxy( 
  10856.     IWMCodecInfo2 __RPC_FAR * This,
  10857.     /* [in] */ REFGUID guidType,
  10858.     /* [in] */ DWORD dwCodecIndex,
  10859.     /* [out] */ WCHAR __RPC_FAR *wszName,
  10860.     /* [out] */ DWORD __RPC_FAR *pcchName);
  10861.  
  10862.  
  10863. void __RPC_STUB IWMCodecInfo2_GetCodecName_Stub(
  10864.     IRpcStubBuffer *This,
  10865.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10866.     PRPC_MESSAGE _pRpcMessage,
  10867.     DWORD *_pdwStubPhase);
  10868.  
  10869.  
  10870. HRESULT STDMETHODCALLTYPE IWMCodecInfo2_GetCodecFormatDesc_Proxy( 
  10871.     IWMCodecInfo2 __RPC_FAR * This,
  10872.     /* [in] */ REFGUID guidType,
  10873.     /* [in] */ DWORD dwCodecIndex,
  10874.     /* [in] */ DWORD dwFormatIndex,
  10875.     /* [out] */ IWMStreamConfig __RPC_FAR *__RPC_FAR *ppIStreamConfig,
  10876.     /* [out] */ WCHAR __RPC_FAR *wszDesc,
  10877.     /* [out][in] */ DWORD __RPC_FAR *pcchDesc);
  10878.  
  10879.  
  10880. void __RPC_STUB IWMCodecInfo2_GetCodecFormatDesc_Stub(
  10881.     IRpcStubBuffer *This,
  10882.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10883.     PRPC_MESSAGE _pRpcMessage,
  10884.     DWORD *_pdwStubPhase);
  10885.  
  10886.  
  10887.  
  10888. #endif     /* __IWMCodecInfo2_INTERFACE_DEFINED__ */
  10889.  
  10890.  
  10891. /* Additional Prototypes for ALL interfaces */
  10892.  
  10893. /* end of Additional Prototypes */
  10894.  
  10895. #ifdef __cplusplus
  10896. }
  10897. #endif
  10898.  
  10899. #endif
  10900.